1

1台のマシンに2つのデータベースがあり、IISで2つの異なるサイトが実行されています。それらをSite1&Site2およびDB1&DB2と呼びましょう。2番目のサイトとBDは、最初のサイトのコピーです。Site2はDB2に接続し、すべてが正常に機能しているように見えますが、DB1をオフラインにすると、動作を停止しました。これは、site2を使用して作成されたすべてのデータがDB2にあるためです。実際、1つの方法を除いて、ほとんどのサイトは機能します

エンティティフレームワークを使用してデータベースにアクセスし、コードをトレースするとすべてが正常に見えますが、どういうわけか機能しません。

エンティティフレームワークによって自動生成されたコードでは、connectiong文字列をトレースし、結果は正しいです

Initial Catalog=DB2;

しかし、次の行にはこのコードがあります

return ((IObjectContextAdapter) this).ObjectContext.ExecuteFunction<T_REFERENCE_DATA>(
                "GetReferenceData", groupNameParameter);

そして、次のような内部例外が発生します。

Database 'DB1' cannot be opened because it is offline.

他のすべてのメソッドは、これを除いて正しいデータベースを使用しているようです。DB1が構成またはハードコーディングされている場所がわかりません

4

1 に答える 1

1

問題は(いつものように)地獄のように愚かでした。何人かの人はストアドプロシージャでDBを定義しました。DBを変更してストアドプロシージャをコピーすると、古いDBを使用し続けました。修正されました。

ご協力いただきありがとうございます

于 2012-06-25T10:17:14.020 に答える