1

我在我的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),可以無誤地連接到同一個數據庫。

我希望這裏有人能指出我正確的方向來解決這個問題。

+1

什麼是錯誤?你有任何時髦的web.config變換?也許您可以在部署的服務器上打印出一些診斷信息,例如連接字符串的哈希值以查看該字符串是否實際上相同,或者某些連接問題。 –

回答

1

我想出了這個問題。發現其中一個Java應用程序的web.config文件重寫了MVC應用程序的web.config文件,即使它們運行在不同的應用程序池中。顯然這是由服務器上安裝的Apache Tomcat連接器的配置引起的。將連接字符串移至Java應用程序的web.config文件可以暫時解決問題。

相關問題