【问题标题】:Cannot connect to SQL Server from ASP.NET MVC app无法从 ASP.NET MVC 应用程序连接到 SQL Server
【发布时间】:2010-05-07 17:24:15
【问题描述】:

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

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

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

现在,非 MVC 应用程序可以访问完全相同的数据库并对用户进行身份验证。 MVC 应用程序从我的开发箱运行时连接良好。当我从运行 IIS 7 的内部 SQL 2008 服务器安装和运行站点时,它也可以毫无问题地运行/连接/验证。

我和托管支持技术人员不知道完全相同的连接字符串如何在托管服务器上以外的任何地方工作,并且只有在从 ASP.NET MVC Web 应用程序内部运行时才能工作。

任何想法都将不胜感激。

【问题讨论】:

  • 你检查你的连接字符串了吗?您是否在 web.config 中定义了它?
  • 出于好奇,谁是托管服务?
  • 确切的连接字符串适用于非 MVC 应用、开发和测试服务器。我确定 Web.config 没问题。但是是的,它在 web.config 文件中。

标签: asp.net-mvc


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-19
    • 2021-06-02
    • 2014-12-30
    • 1970-01-01
    相关资源
    最近更新 更多