奇怪问题连接到数据库,从已发布的ASP.NET应用程序

问题描述:

我开发是连接到SQL Server数据库使用SQL帐户即在格式“服务器= THESQLSERVER一个连接字符串的ASP.NET应用程序;数据库= theDb; UID =来宾; PWD =来宾;”。在Visual Studio的开发环境中一切正常。但是,当我将应用程序发布到我的IIS(v5.0)网络服务器时,出现以下错误:奇怪问题连接到数据库,从已发布的ASP.NET应用程序

与SQL Server建立连接时发生网络相关或实例特定的错误。服务器未找到或无法访问。验证实例名称是否正确,并将SQL Server配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开到SQL Server的连接)。

有趣的是,正是在做同样为不同的服务器,当应用程序发布工作正常。

谁能提供可能解释这种行为的任何指针或链接。我已经做了一些搜索,但找不到明显与问题相关的任何内容。请不要为此而自杀,因为这不是一个阻止交易的问题。我只是很好奇。 谢谢。大卫

嗯,这是近我们看到了很多无用的错误其中之一。

最简单的选项,以检查SQL Server实际上不会允许远程连接。 第二次尝试从部署该站点的PC的Management Studio连接。也尝试一些用户。这样做时,请确保在配置中使用服务器名称,并尝试使用IP地址。

+0

可能是我没有说清楚,该网站目前正在托管我的dev的机器。因此,在我的盒子上的Visual Studio中进行调试时,连接可以正常工作,但在发布到开发机器IIS网站时会失败。按照预期,Management Studio可以正常连接。这与运行IIS的NT帐户有什么关系?这就是我现在所能想到的。大卫 – user120381 2009-10-02 12:06:07

+0

确实发布到IIS确实运行在不同用户的上下文中的网站。 您可以转到IIS并在目录安全下取消允许匿名用户并勾选集成安全性。 或者将匿名用户名和密码更改为有权连接到SQL Server的用户。 最后,您可以授予匿名用户帐户连接到SQL Server的权限。 – Robert 2009-10-12 11:18:27