实体框架连接字符串 - 错误查找指定的服务器/实例

时间:2015-06-01 10:11:36

标签: c# sql-server entity-framework entity-framework-6 connection-string

我在尝试使用Entity Framework连接到SQL Server 2005时遇到了一些问题。

我使用System.Data.SqlClient.SqlConnection这个小的 WindowsForm 应用程序:

SqlConnection cnn = new SqlConnection("Data Source=servername\\sqlhotel;Database=mydatabase;User Id=myusername;Password=mypassword");

try
{
    cnn.Open();
    MessageBox.Show ("Connection is Open ");
    cnn.Close();
}
catch (Exception ex)
{
    MessageBox.Show("Can not open connection ! ");
}

这在我的服务器上运行正常(我正在收到“Connection is Open”消息),但在使用Entity Framework 6 ASP.NET Web API 应用程序中我得到了使用上面的连接字符串发生此错误:

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:SQL   网络接口,错误:26 - 查找服务器/实例时出错   指定)

为什么?

1 个答案:

答案 0 :(得分:0)

确保在SQL Server配置管理器中启用了TCP / IP,并且如果您尝试远程连接,则允许SQL Server通过Windows防火墙(在服务器上)。如果没有,你可以将它添加到白名单中,但出于安全考虑,这可能是一个坏主意 - 如果它是生产服务器,那肯定是一个坏主意。