【问题标题】:Entity Framework connection string - Error Locating Server/Instance Specified实体框架连接字符串 - 错误定位服务器/指定的实例
【发布时间】:2015-06-01 10:11:36
【问题描述】:

我在尝试使用实体框架连接到 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 ! ");
}

这在我的服务器上运行良好(我收到“连接已打开”消息),但在我的 ASP.NET Web API 应用程序中使用 Entity Framework 6 我收到此错误使用上面的连接字符串:

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

为什么?

【问题讨论】:

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


【解决方案1】:

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

【讨论】:

  • 由于 WindowsForm 应用程序运行良好,我认为远程连接到 SQL 服务器不是问题?
  • 您说“这在我的服务器上运行良好”所以我认为您的意思是您从那里运行应用程序?
  • 是的,我在我的服务器上运行了 WindowsForm 应用程序。有效。在同一台服务器上使用相同的连接字符串运行 ASP.NET Web API 不起作用。
猜你喜欢
  • 1970-01-01
  • 2014-03-16
  • 1970-01-01
  • 2014-02-03
  • 2021-11-01
  • 1970-01-01
  • 2017-08-14
  • 1970-01-01
  • 2019-04-06
相关资源
最近更新 更多