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 アプリケーションの 1 つからの web.config ファイルが、MVC アプリケーションの web.config ファイルをオーバーライドしていたことが判明しましたが、それらは異なるアプリケーション プールで実行されていました。どうやらこれは、サーバーにインストールされている Apache Tomcat コネクタの構成が原因でした。接続文字列を Java アプリケーションの web.config ファイルに移動すると、一時的に問題が解決しました。

于 2013-07-25T01:00:25.380 に答える