【问题标题】:Can't Connect to Local SQL Database无法连接到本地 SQL 数据库
【发布时间】:2013-05-17 21:57:17
【问题描述】:

这个:

SqlConnection myConnection = new SqlConnection("Data Source=(LocalDB)\v11.0;AttachDbFilename='C:\\Users\\Joe\\Documents\\Visual Studio 2012\\Projects\\FileIO\\FileIO\\Database.mdf';Integrated Security=True");
try
{
   myConnection.Open();
}
catch (Exception e)
{
   Console.WriteLine(e.ToString());
}

返回此错误:

“System.Data.SqlClient.SqlException”类型的第一次机会异常 发生在 System.Data.dll System.Data.SqlClient.SqlException: A 建立时发生与网络相关或特定于实例的错误 到 SQL Server 的连接。未找到或未找到服务器 无障碍。验证实例名称是否正确以及 SQL 服务器配置为允许远程连接。 (提供者:命名 Pipes Provider,错误:40 - 无法打开与 SQL Server 的连接)

有什么想法吗?

【问题讨论】:

标签: c# sql sql-server database


【解决方案1】:

您缺少数据源上的双反斜杠。它将\v 作为垂直标签读取。

或者您可以在整个字符串之前使用前导 @ 将其视为逐字字符串(如果这样做,则需要清除文件路径上的多余反斜杠)。

【讨论】:

    【解决方案2】:

    (复制自error occurred while establishing a connection to SQL Server

    问题与未在 .net 4.0 版中运行的应用程序有关

    根据以下页面: http://www.connectionstrings.com/sql-server-2012#sqlconnection

    您需要 .net 4.0 及更高版本才能使用命名管道:

    .NET 框架不支持 Server=(localdb) 语法 4.0.2 之前的版本。但是,命名管道连接将起作用 将 4.0.2 之前的应用程序连接到 LocalDB 实例。

    SqlLocalDB.exe create MyInstance
    SqlLocalDB.exe start MyInstance
    SqlLocalDB.exe info MyInstance
    

    信息提供了命名管道,然后可以在连接字符串中使用:

    <add name="conn" 
    providerName="System.Data.SqlClient" 
    connectionString="Server=np:\\.\pipe\LOCALDB#B1704E69\tsql\query"/>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-28
      • 2021-02-22
      • 1970-01-01
      相关资源
      最近更新 更多