ASP.NET MVCアプリケーションを展開していますが、web.configで問題が発生しています。アプリケーションはサーバーにデプロイされますが、別のオフサイトサーバー上のデータベースにアクセスします。データベースにアクセスするページを読み込もうとすると、次のエラーが発生します。
'/'アプリケーションのサーバーエラー。
ユーザー'LOCALSERVERNAME$'のログインに失敗しました。説明:現在のWebリクエストの実行中に未処理の例外が発生しました。エラーとエラーがコードのどこで発生したかについての詳細は、スタックトレースを確認してください。
例外の詳細:System.Data.SqlClient.SqlException:ユーザー'LOCALSERVERNAME$'のログインに失敗しました。
web.configの接続文字列は次のようになります。
<connectionStrings>
<add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|aspnetdb.mdf;User Instance=true" providerName="System.Data.SqlClient" />
<add name="AppEntities" connectionString="metadata=res://*/Models.Model.csdl|res://*/Models.Model.ssdl|res://*/Models.Model.msl;provider=System.Data.SqlClient;provider connection string="Data Source=EXTERNALSERVERNAME;Password=****;User ID=****;Initial Catalog=AppData;Integrated Security=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" />
</connectionStrings>
したがって、エラーは、ファイルをホストしているだけのローカルサーバーの認証に関するものです。データベースと相互作用しないアプリケーション内のプレーンASPページは適切に提供されています。この問題は、まったく別のサーバー上にあるデータベースにアクセスしようとしたときにのみ発生するようです。また、オフサイトサーバーの接続文字列が正しいことも知っています。これは他のアプリケーションでも機能します。
設定を処理することはめったになく、非常に制限された環境で作業しているため、トラブルシューティングが困難でした。どんな助けでも大歓迎です。