1

私は contoso 大学のチュートリアルに従い、VS 2010 で SQL Express を使用できるようにしました - App_Data フォルダーに DB を作成しました。このチュートリアルは、EF Code First モデルに従います。テーブル内のデータを表示したいので、サーバー エクスプローラーでデータベースを開き、テーブル データを表示することができました。

もう一度実行すると、データベースにアクセスできなくなりました-与えられたエラーは次のとおりです。

1 つまたは複数のファイルがデータベースのプライマリ ファイルと一致しません。データベースを接続しようとしている場合は、正しいファイルを使用して操作を再試行してください。これが既存のデータベースである場合、ファイルが破損している可能性があるため、バックアップから復元する必要があります。
ログインで要求されたデータベース「SchoolDB」を開くことができません。ログインに失敗しました。
ユーザー 'DEV\bwilliams' のログインに失敗しました。
ログ ファイル 'C:\ContosoUniversity\ContosoUniversity\ContosoUniversity\App_Data\SchoolDB.ldf' がプライマリ ファイルと一致しません。別のデータベースからのものであるか、ログが以前に再構築されている可能性があります。

DEV\bwilliams は Windows 認証になります。

ここに私の接続文字列があります:

<add name="SchoolContext"
     connectionString="data source=.\SQLEXPRESS;Initial Catalog=SchoolDB;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|SchoolDB.mdf;User Instance=true"
     providerName="System.Data.SqlClient" />

サーバーエクスプローラーでDBを再度開こうとしたところ、ログインに失敗したことがわかりました。そのため、データベースを削除して EF に再作成させることができると考えましたが、その後も同じエラーが発生します。全体のポイントは、プロジェクトを作成して実際のサーバーにデプロイすることですが、これらの接続の問題を乗り越えることができないようです.

更新: 接続文字列でデータベースの名前を変更すると、新しいデータベースが作成され、すべて問題ありません。ただし、VS 2010 のサーバー エクスプローラーで開くと、同じ問題が発生します。とてもイライラします。

4

0 に答える 0