1

我在我的 ASP.NET MVC 应用程序中遇到一个奇怪的问题,我的连接字符串在我的本地计算机上的开发中工作正常,但在 Windows Server 2008 上部署时无法连接到 SQL Server 2008 R2 数据库。我正在尝试的数据库连接到驻留在 Windows Server 2003 机器上。两台机器都在同一个网络上。这是我web.config文件中的连接字符串:

<connectionStrings>
    <add name="MyDatabase" connectionString="data source=MyServerName;Initial Catalog=MyAppDB;User Id=sqluseraccount;Password=mypassword" providerName="System.Data.SqlClient" />
</connectionStrings>

我使用普通的旧 ADO.NET 来查询数据库,所以我的方法如下所示:

string connectionString = ConfigurationManager.ConnectionStrings["MyDatabase"].ConnectionString;

using (SqlConnection conn = new SqlConnection(connectionString))
{
    // Code to query the database here
}

我知道连接字符串很好,因为它可以在我的本地计算机和部署到 SQL 数据库所在的同一服务器的 MVC 应用程序中工作。我知道 MVC 应用程序可以正常工作,因为我可以正确请求不需要数据库调用的任何页面。我不知道会发生什么。Windows Server 2008 机器上还有其他应用程序(主要是 Java)可以无错误地连接到同一个数据库。

我希望这里有人能指出我解决这个问题的正确方向。

4

1 回答 1

1

我解决了这个问题。事实证明,其中一个 Java 应用程序的 web.config 文件覆盖了 MVC 应用程序的 web.config 文件,即使它们在不同的应用程序池上运行。显然这是由安装在服务器上的 Apache Tomcat 连接器的配置引起的。将连接字符串移动到 Java 应用程序的 web.config 文件暂时解决了这个问题。

于 2013-07-25T01:00:25.380 回答