这里有点难题。
我有一台运行IIS7和MS SQL Server 2008 R2的Windows Server 2008。 我打开了防火墙上的必要端口,并启用了正确的SQL Server配置选项以允许远程连接。
我已经证明了这一点,因为能够从我的开发机器连接SQL Server Management Studio Express和VS 2010。 但是,当我将我的站点上传到服务器时,它会尝试连接到数据库 - 使用与我的开发机器相同的连接字符串。
Data Source=MY.IP.ADD.DDRE.SS;Initial Catalog=relenster_v2_updated;Persist Security Info=True;User ID=<username>;Password=<mypassword>
我正在接受的错误是:
provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server
有什么想法吗?
更新: SQL Server和IIS位于同一台计算机上
我的开发机器是完全独立的
答案 0 :(得分:1)
在MSDN上可以找到关于同样问题的冗长讨论。也许你会在那里找到答案。
答案 1 :(得分:1)
解决
问题是服务器上的连接字符串直接通过IP地址引用服务器。但是,此IP地址对服务器没有任何意义,只知道其内部IP地址。
简而言之,将IP地址更改为localhost解决了问题
答案 2 :(得分:0)
您可能遇到与运行IIS的服务器相关的问题。我假设SQL服务器实例运行在与“开发机器”不同的机器上。我还假设您的IIS服务器与SQL服务器或您的开发机器不同。在这种情况下,我会测试你是否可以从IIS服务器连接到SQL服务器。关于不同服务器(nework环境)的更多信息会有所帮助。 Windows Server 2008可能阻止出站连接。