【发布时间】:2013-07-23 07:34:50
【问题描述】:
我在我的 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)可以无错误地连接到同一个数据库。
我希望这里有人可以指出正确的方向来解决这个问题。
【问题讨论】:
-
错误是什么?你有任何时髦的 web.config 转换吗?也许您可以在部署的服务器上打印出一些诊断信息,例如连接字符串的哈希值,以查看字符串是否实际上相同,或一些连接问题。
标签: asp.net-mvc sql-server-2008 windows-server-2008 connection-string windows-server-2003