ASP.NET 到本地 SQL 服务器数据库的连接字符串,使用 web.config

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

为什么 System.Data.SqlClient.SqlConnection class 抛出 "The parameter is incorrect" 的异常?

我正在尝试学习如何使用本地 SQL 数据库和 ASP.NET MVC 项目建立数据库连接,使用 .NET Framework 4.5。

以下是我为此采取的步骤:

  1. 在我的项目 App_Data 文件夹中创建了一个新的 SQL 服务器数据库,名为 TestSQLdb.mdf

  2. web.config 中创建了一个连接字符串:

    <add name="SQLTestConnection1" 
         connectionString="Data Source=(LocalDB);initial catalog=TestSQLdb;Integrated Security=true" />  
    
  3. 通过

    访问连接字符串
    string cn_str = ConfigurationManager.ConnectionStrings["SQLTestConnection1"].ConnectionString;
    

    (有关这方面的更多信息,请参阅 this SO 主题)。

  4. 创建了一个新连接:

    SqlConnection conn = new SqlConnection(cn_str);
    
  5. 尝试打开连接:

    try
    {
         conn.Open();
    

    此时抛出异常

我尝试将其设置为简单易学。我错过了什么?

您没有将变量传递给 new SqlConnection,而是试图调用名为 cn_str 的函数。

要使其正常工作,您需要删除名称中的括号。

SqlConnection conn = new SqlConnection(cn_str);

当您使用 localDB 时,您必须在 connectionString 中指定一个 A​​ttachDbFileName 属性。此属性应指向您的 TestSQLdb.mdf 文件。初始目录是您的 mdf 文件中的数据库名称。

有关此示例,请参阅 MSDN

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