方法 : プロジェクトでローカル データ ファイルを管理する

ローカル データベース ファイルは、プロジェクトのファイルとして含めることができます。初めてアプリケーションをローカル データベース ファイルに接続するときに、データベースのコピーをプロジェクトに作成するか、現在の場所にある既存のデータベース ファイルに接続するかを選択できます。既存のファイルに接続すると、リモート データベースに接続するときと同じように接続が作成され、データベース ファイルは元の場所に残ります。データベースをプロジェクトにコピーすると、データベース ファイルのコピーが作成されてプロジェクトに追加され、データベース ファイルの元の場所ではなく、プロジェクト内のデータベースを指すように接続が変更されます。

[!メモ]

サーバー エクスプローラーまたはデータベース エクスプローラーの既存のデータ接続も、プロジェクト内のデータベース ファイル (プロジェクトのルート フォルダーにあるデータベース ファイル) を指すように変更されます。

プロジェクトをビルドしたときに、ルート プロジェクト フォルダーから出力 (bin) フォルダーにデータベース ファイルがコピーされる場合があります (bin フォルダーを表示するには、ソリューション エクスプローラー[すべてのファイルを表示] をクリックします)。この動作は、ファイルの 出力ディレクトリにコピーされます のプロパティ設定に基づいています。プロパティの既定の設定は、使用しているデータベース ファイルの種類によって異なります。

[!メモ]

[出力ディレクトリにコピー] プロパティの動作は、Web プロジェクトまたは C++ プロジェクトには適用されません。

アプリケーションの開発時に、行った Bin フォルダーのデータベースへのデータへの変更がすべて (アプリケーション内の実行時に)変更されます。たとえば、F5 キーを押してアプリケーションをデバッグすると、bin フォルダー内のデータベースに接続されます。ルート プロジェクト フォルダー内のデータベース ファイルは、 サーバー エクスプローラーデータベース エクスプローラー または他の Visual Database Toolsを使用してデータベース スキーマまたはデータを編集する場合のみ変更されます。

次の表は 出力ディレクトリにコピーされます のプロパティの設定を示します。

設定

[動作]

[新しい場合はコピーする] (.sdf ファイルの既定値)

データベース ファイルは、プロジェクトが初めてビルドされたときに、プロジェクト ディレクトリから bin ディレクトリにコピーされます。その後、プロジェクトをビルドするたびに、ファイルの [更新日時] プロパティが比較されます。プロジェクト フォルダー内のファイルの方が新しい場合は、そのファイルが bin フォルダーにコピーされ、既存のファイルと置き換えられます。bin フォルダー内のファイルの方が新しい場合、ファイルはコピーされません。この設定により、実行時にデータに対して行われた変更が保持されます。つまり、アプリケーションを実行し、データの変更を保存すると、次にアプリケーションを実行したときにこれらの変更が反映されます。

Caution メモ注意
これは、 .mdb ファイルまたは .mdf ファイルにこのオプションはお勧めしません。データベース ファイルは、データが変更されない場合も変更されることがあります。データ ファイルの接続を開くと、新しいように (たとえば、 サーバー エクスプローラーテーブル ノードを展開すると、で)ことを示すことができます。

[常にコピーする] (.mdf ファイルおよび .mdb ファイルの既定値)

データベース ファイルは、プロジェクト ディレクトリから /bin ディレクトリにアプリケーションをビルドするたびにコピーします。したがって、アプリケーションをビルド、 /bin ディレクトリ内のファイルへの変更を保存すると、元のファイルが /bin ディレクトリにコピー、変更は次に上書きされます。

[コピーしない]

プロジェクト システムによって、ファイルがコピーまたは上書きされることはありません。この設定を使用して手動でプロジェクト ディレクトリからの出力ディレクトリにファイルをコピーします。

手順

[ローカル データベース ファイル] ダイアログ ボックスに応答するには

  • Visual Studio で、データベース ファイルをプロジェクトにコピーし、そのプロジェクト内のコピーを指すように接続を変更する場合は、[はい] をクリックします。プロジェクトのデータベース ファイルの操作の詳細については、「ローカル データの概要」を参照してください。

  • Visual Studio で、データベース ファイルがプロジェクトにコピーされないようにする場合は、[いいえ] をクリックします。この場合、接続は元の場所にあるファイルを指し、データベース ファイルがプロジェクトにファイルとして追加されることはありません。

参照

処理手順

チュートリアル: SQL Server Express LocalDB データベース内のデータへの接続 (Windows フォーム)

チュートリアル: Access データベース内のデータへの接続 (Windows フォーム)

チュートリアル: SQL Server Compact データベースの作成

その他の技術情報

SQL Server Compact の使用 (Visual Studio)