无法连接到本地SQL数据库

时间:2013-05-17 21:57:17

标签: c# sql sql-server database

此:

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   服务器配置为允许远程连接。 (提供者:命名   管道提供程序,错误:40 - 无法打开与SQL Server的连接)

任何想法?

2 个答案:

答案 0 :(得分:1)

您错过了数据源上的双反斜杠。它正在阅读\v作为垂直标签。

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

答案 1 :(得分:0)

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

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

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

您需要.net 4.0及以上才能使用命名管道:

  

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

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

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

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