我在尝试使用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 - 查找服务器/实例时出错 指定)
为什么?
答案 0 :(得分:0)
确保在SQL Server配置管理器中启用了TCP / IP,并且如果您尝试远程连接,则允许SQL Server通过Windows防火墙(在服务器上)。如果没有,你可以将它添加到白名单中,但出于安全考虑,这可能是一个坏主意 - 如果它是生产服务器,那肯定是一个坏主意。