Aaron Thomas
Aaron Thomas

Reputation: 5281

ASP.NET connection string to local SQL Server database, using web.config

Why is System.Data.SqlClient.SqlConnection class throwing an exception that "The parameter is incorrect"?

I'm attempting to learn how to set up database connections using a local SQL database and an ASP.NET MVC project, using .NET framework 4.5.

Here are the steps I've taken that lead up to this:

  1. Created a new SQL Server database in my project App_Data folder, called TestSQLdb.mdf.

  2. Created a connection string in web.config:

    <add name="SQLTestConnection1" 
         connectionString="Data Source=(LocalDB);initial catalog=TestSQLdb;Integrated Security=true" />  
    
  3. Access the connection string through

    string cn_str = ConfigurationManager.ConnectionStrings["SQLTestConnection1"].ConnectionString;
    

    (See this SO thread for more info on this).

  4. Created a new connection:

    SqlConnection conn = new SqlConnection(cn_str);
    
  5. Attempt to open the connection:

    try
    {
         conn.Open();
    

    At this point, an exception is thrown.

I tried to set this up so it would be simple and easy to learn on. What am I missing?

Upvotes: 7

Views: 6050

Answers (2)

Pilgerstorfer Franz
Pilgerstorfer Franz

Reputation: 8359

When you are working with a localDB you'll have to specify a AttachDbFileName attribute in your connectionString. This attribute should point to your TestSQLdb.mdf file. Initial catalog is the name of your dataBase within your mdf file.

see MSDN for this example

<add name="ConnectionStringName"
providerName="System.Data.SqlClient"
connectionString="Data Source=(LocalDB)\v11.0;AttachDbFileName=|DataDirectory|\DatabaseFileName.mdf;InitialCatalog=DatabaseName;Integrated Security=True;MultipleActiveResultSets=True" />

Upvotes: 9

NightOwl888
NightOwl888

Reputation: 56849

You are not passing a variable to the new SqlConnection, you are instead trying to call a function called cn_str.

To get it to work, you need to remove the parentheses from the name.

SqlConnection conn = new SqlConnection(cn_str);

Upvotes: 0

Related Questions