我在我的ASP.NET MVC应用程序中遇到了一个奇怪的问题,其连接字符串在本地机器上的开发工作正常,但无法连接到SQL部署在Windows Server 2008上的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),可以无误地连接到同一个数据库。
我希望这里有人能指出我正确的方向来解决这个问题。
什么是错误?你有任何时髦的web.config变换?也许您可以在部署的服务器上打印出一些诊断信息,例如连接字符串的哈希值以查看该字符串是否实际上相同,或者某些连接问题。 –