データベースにいくつかの aspx ページといくつかのテーブルがあります。各ページはそれぞれのテーブルに接続します。各ページの目的は同じで、一部の条件が異なります。開発するときは、テスト データ用に別のデータベースを使用し、覚えやすいように "Database_DEV1" と呼びます。問題は、1 つのページのみが同じ接続文字列でデータベース (Database_DEV1) に接続することです。他のページでは、次のメッセージでエラーがスローされます。
Cannot open database "Database" requested by the login. The login failed.
Login failed for user 'xxx'
Database_DEV1 を参照する接続文字列を指定した場合、「データベース」に接続されるのはなぜですか?
この種のエラーがまったく表示される可能性はありますか? 私は何かが恋しいですか?提供した接続文字列を確認しました。
何らかの理由で、ページが別のものを「記憶」しているようです。シンプルなSqlConnection
クラスを試してみましたが、動作しますが、dbml
ファイルは動作しません。
アップデート
問題は、コンテキストがフォルダーを参照していることです: // C:\Users\xxx\AppData\Local\Temp\Temporary ASP.NET Files\root\0f053840_shadow\2edebf24\5576\App_Code.whnwybua.dll
最初に、アプリケーションは dbml で宣言されたコンテキストを使用して接続します。しかし、いくつかのアクションを実行すると、上記のdllファイルを参照するコンテキストを使用して接続しようとします。何故ですか?