DB Connection string in Web.config to use attached .mdf database won't work

56,574

Solution 1

If you have the *.mdf placed in App_Data folder, using this format works:

<connectionStrings>
  <add name="ConnectionName"
    connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|DatabaseName.mdf;Integrated Security=True;User Instance=True"
    providerName="System.Data.SqlClient" />
</connectionStrings>

Solution 2

There is a simple way to retrieve the connection string to each database. Double click on "DataBase.mdf" file in Solution Explorer > right click on the "DataBase.mdf" file in Server Explorer > click "Properties" > Now you can see the connection string (under the "Connection" header) in the properties menu!

Solution 3

If you wanted the database to be created in your App_Data folder. You can use the following ConnectionString:

<connectionStrings>
<add name="ConnectionName" connectionString="Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|MyDatabase.mdf;Integrated Security=True;User Instance=True" providerName="System.Data.SqlClient" />

Alternatively you can use:

<add name="ConnectionName" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=MyDatabase;Integrated Security=SSPI;" providerName="System.Data.SqlClient"/>

Also you will see MyDatabase.mdf and .ldf database files are created in the C:\Users\YourUserName Folder.

Share:
56,574
LaserBeak
Author by

LaserBeak

Updated on October 08, 2020

Comments

  • LaserBeak
    LaserBeak over 3 years

    The file neodb.mdf is in my App_Data folder and I can browse the database in the server explorer in visual studio, using built in SQLEXPRESS:

    Currently trying to no avail:

     <connectionStrings>
        <add name="EFDbContext" connectionString=".\SQLExpress;AttachDbFilename=|DataDirectory|neodb.mdf; Database=neodb;Trusted_Connection=Yes;" providerName="System.Data.SqlClient"/>
      </connectionStrings>
    

    and

     <connectionStrings>
        <add name="EFDbContext" connectionString="Data Source=.SQLEXPRESS;Database=neodb.mdf;Integrated Security=True" providerName="System.Data.SqlClient"/>
      </connectionStrings>
    

    Also as I understand the *.mdf is an SQL server database file type and .dbo is owner of file when it's included in the initial catalog ? What's the initial catalog anywhere ?