方法 : プロジェクトでローカル データ ファイルを管理する
公開日: 2016年4月
ローカル データベース ファイルは、プロジェクトのファイルとして含めることができます。 初めてアプリケーションをローカル データベース ファイルに接続するときに、データベースのコピーをプロジェクトに作成するか、現在の場所にある既存のデータベース ファイルに接続するかを選択できます。 既存のファイルに接続すると、リモート データベースに接続するときと同じように接続が作成され、データベース ファイルは元の場所に残ります。 データベースをプロジェクトにコピーすると、データベース ファイルのコピーが作成されてプロジェクトに追加され、データベース ファイルの元の場所ではなく、プロジェクト内のデータベースを指すように接続が変更されます。
注意
サーバー エクスプローラーまたはデータベース エクスプローラーの既存のデータ接続も、プロジェクト内のデータベース ファイル (プロジェクトのルート フォルダーにあるデータベース ファイル) を指すように変更されます。
プロジェクトをビルドしたときに、ルート プロジェクト フォルダーから出力 (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 で、データベース ファイルがプロジェクトにコピーされないようにする場合は、[いいえ] をクリックします。 この場合、接続は元の場所にあるファイルを指し、データベース ファイルがプロジェクトにファイルとして追加されることはありません。
参照
チュートリアル: ローカル データベース ファイル内のデータへの接続 (Windows フォーム)
チュートリアル: Access データベース内のデータへの接続 (Windows フォーム)