只是想知道是否有人以前遇到过这种情况。有几个开发人员看过这个,但我们都无法弄清楚。
我有一个使用 EF4 通过别名连接到 Sql Server 数据库的 ASP.NET Web 窗体应用程序。别名设置为指向我的机器名称(不是“.”或“本地”)。当我用 VS2012 运行它时,它工作正常。如果我将它部署到我的本地 IIS7 实例并尝试在浏览器中将其拉起,我会收到错误消息:
建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。(提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)
我的连接字符串如下所示:
Data Source=aliasName;Initial Catalog=databaseName;Integrated Security=True;MultipleActiveResultSets=True
如果我更改连接字符串以使数据源是我的机器名而不是别名,则它在 IIS7 中可以正常工作。因此,问题似乎与别名有关,并且仅在用完 IIS7 时才出现。
作为一种解决方法,我正在使用本地构建配置文件来部署一个不使用本地别名的不同 web.config,但我真的很想弄清楚它为什么不起作用。
任何意见,将不胜感激。