我在尝试从网站访问数据库时遇到错误,它返回一个无法找到服务器或无法访问的错误。
现在我做了一个搜索,我发现了很多可能的原因 - 我打开了命名管道并且还做了this link建议的(即将IP地址设置为“启用”)但我仍然收到错误。
错误SqlException:System.Data.SqlClient.SqlException(0x80131904): 错误网络发生错误或发生时发生错误 连接到SQL Server。无法找到服务器或无法使用。 验证实例名称是否正确以及配置 SQL Server允许远程连接。 (提供者:命名管道提供商, 错误:40 - 无法打开到SQL Server的连接) System.Data.SqlClient.SqlInternalConnection.OnError(SQLEXCEPTION
处的异常,布尔breakConnection)
我还下载了this little app,我从IIS中为此站点使用的web.config复制/粘贴了连接字符串,该应用程序能够连接并查询该网站所针对的同一数据库。 / p>
而且,正如标题所说,当我在VS2010中调试时,这个错误完全丢失了。从服务器启动时可能导致此错误的原因是什么?
编辑:连接字符串包含用户名和密码(不是Windows身份验证)。
答案 0 :(得分:0)
最有可能是安全问题。如果使用Windows身份验证,请确保运行Web应用程序的线程池具有足够的DB访问权限。
答案 1 :(得分:0)
问题是web.config引用了另一个配置文件
<appSettings file="config/dev.config">
所以web.config中的连接字符串会被dev.config中的连接字符串忽略 - 两者都有错误(测试服务器上的连接字符串是由其他人创建的并且在静态页面上工作 - 它只是失败了当网站必须查询数据库时),这就是Visual Studio中的版本运行良好的原因。