无法从ASP.NET MVC应用程序连接到SQL Server应用程序

问题描述:

我有一个ASP.NET MVC应用程序在托管服务器上连接了一年多,连接到SQL Server。我不得不改变托管服务,新的支持MVC 1.0。我还将一个非MVC ASP应用程序移至同一个托管服务。无法从ASP.NET MVC应用程序连接到SQL Server应用程序

现在,当我尝试验证用户登录时,基于MY MVC的应用程序会回调此错误。

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

现在,非MVC应用程序可以访问完全相同的数据库并认证用户。从我的开发箱运行时,MVC应用程序连接正常。当我从运行IIS 7的内部SQL 2008服务器安装并运行该站点时,它也可以正常运行/连接/验证。

我和托管支持技术人员一样,无法完全确定连接字符串的工作原理除了在托管服务器上的所有地方,并且仅在ASP.NET MVC Web应用程序内运行时。

任何想法将不胜感激。

+0

你检查了你的连接字符串吗?你有没有在你的web.config中定义它? – Kelsey 2010-05-07 17:29:37

+0

出于好奇,谁是托管服务? – curtisk 2010-05-07 17:36:31

+0

确切的连接字符串可以从开发者和测试服务器的非MVC应用程序中运行。我确定Web.config很好。但是,它在web.config文件中。 – 2010-05-07 17:41:06

您是否在连接字符串中使用SQL身份验证或Windows身份验证?如果您使用的是Windows身份验证,则用于IIS应用程序的默认帐户是NETWORK SERVICE。您需要允许该用户访问您的数据库。

您可能想要检查应用程序池在哪个用户下运行。非MVC应用程序有可能在不同于MVC应用程序的用户下运行。

+0

我正在使用SQL身份验证。我将检查应用程序池分配,但... – 2010-05-07 17:57:10