29

アプリケーションで突然エラーが発生し始めました。

エラーは次のとおりです。

この操作には、'master' データベースへの接続が必要です。元のデータベース接続が開かれており、資格情報が接続文字列から削除されているため、'master' データベースへの接続を作成できません。開かれていない接続を提供します。

コードは何も変更されていません。データベースへのアクセスは、残りのコード全体で問題ありません。

次の行で停止します。

var filteredContacts = dc.EAContactLists.Where(o => teams.Contains(o.Team)).ToList();

私はこれで迷っています。

4

10 に答える 10

43

Persist Security Info = True接続文字列で設定してみてください。

お役に立てれば。

于 2013-11-14T12:44:00.717 に答える
15

私はこの問題を抱えていましたが、私の場合は接続文字列に "Integrated Security=True" を追加することで解決しました。これは、Windows 認証を使用して DB に接続している場合にのみ適用されます。それが役に立てば幸い。

于 2016-01-06T17:26:29.543 に答える
12

このエラーが発生し、上記のいずれも機能しませんでした。恥ずかしいことに、接続文字列からセミコロンを見逃していたことに気付きました。役に立つかも…

于 2016-08-27T18:19:14.557 に答える
3

こんにちは、実際には、テーブルの作成やオブジェクトの変更など、スキーマを変更しようとしている場合、この問題は解決しません...

そして、あなたにはそれを行う権限がありません..

MVC を使用していて、データベースが既にサーバーに存在する場合、この問題は次のコードで解決できます。

Database.SetInitializer<EmployeeContext>(null);

このコードを Global.asax ファイルの application_start イベント メソッドに追加するだけです。

于 2015-09-17T16:47:30.053 に答える
0

私はとても愚かです。同じエラーに直面した後、リリース モードの変換を構成していないのに、リリース モードのパッケージ マネージャー コンソールで update-database -verbose コマンドを実行していたことに気付きました。

これは、デバッグ モードで機能した接続文字列の形式です。

Password=dumbeldore;Persist Security Info=True;User ID=johnmcclain;初期カタログ=DB_diehard400;Data Source=killthatbill;

  • セキュリティ上の理由で編集された接続文字列の機密情報。フォーマットのみに従ってください。
于 2018-05-01T18:44:24.493 に答える
-1

Fiddler を実行していないことを確認してください。F12 でトラフィック キャプチャを一時的に無効にすると、問題が解決しました。

于 2016-12-15T12:49:32.443 に答える