ローカル データの概要

ローカル データを使用すると、別のサーバー データベースにではなく、ローカル コンピューター上のデータベース ファイルにアプリケーションを接続します。たとえば、次のローカル データベース ファイルへ Visual Studio で開発中のアプリケーションを接続できます:

  • SQL Server Compact データベース ファイル (.sdf)

  • SQL Server Express の LocalDB のデータベース ファイル (.mdf)

  • SQL Server Express データベース ファイル (.mdf)

  • Microsoft Access データベース ファイル (.mdb)

次の表は、ローカル データにアプリケーションを接続する方法を説明するトピックへのリンクを示します。:

トピック

説明

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

データ機能のテストに使用し、アプリケーションをビルドできるローカル データベース ファイルを作成するための詳細な手順について説明します。

チュートリアル: LocalDB データベースの作成

データ機能のテストに使用し、アプリケーションをビルドできるローカル データベース ファイルを作成するための詳細な手順について説明します。

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

簡単な Windows アプリケーションを作成するときに、SQL Server Express の LocalDB のデータベースに接続するための手順を示します。

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

Microsoft Access データベースに接続するための手順を示します。

方法: Northwind データベースへの接続

SQL Server、SQL Server Compact、SQL Server Express、およびアクセスの Northwind サンプル データベースに接続する方法を示します。

データ ソースを作成し、ローカル データ ファイルにアクセスするように構成した後にデータを、他のソースのデータを使用するのがと同じテクノロジとオブジェクトを使用して使用します。詳細については、「データ アプリケーションの作成」を参照してください。

アプリケーションへのデータベースの統合

ローカル データに接続すると、データベース ファイルに接続してのみ、アプリケーションに統合することはできません。たとえば、[プロジェクト] のメニューを開くと、既存の .sdf ファイル、.mdf ファイル、または .mdb ファイルを参照し、それをプロジェクトに追加します。

ローカル データ ファイルを追加すると、型指定されたデータセットおよびアプリケーションのデータベース ファイルを指す接続文字列を動的に作成します。データベース ファイルをプロジェクトに追加すると、含むオブジェクトを指定するに [データ ソース構成ウィザード] を使用します。

[!メモ]

自動的に接続を構成し、ファイル エクスプローラーから .sdf ファイル、.mdf ファイル、または .mdb [ソリューション エクスプローラー]にファイルをドラッグして [データ ソース構成ウィザード] を開始できます。アプリケーションで使用するために、オブジェクトを指定できます。

ローカル データ ファイルのデータ ソースの作成に [データ ソース構成ウィザード] を使用する場合は、ファイルをプロジェクトに含めるように求められます。これが、アプリケーションはハードコーディングされたパスが指す接続文字列だけ、実際のデータ ファイルが含まれます。詳細については、「方法 : プロジェクトでローカル データ ファイルを管理する」を参照してください。

ウィザードを完了すると、データベース ファイルとデータセットは [ソリューション エクスプローラー]/[データベース エクスプローラー]に表示され、指定したデータベース オブジェクトは [データ ソース] のペインに表示されます。フォームに [データ ソース] ] ウィンドウから項目をドラッグして、基になるデータにバインドされるコントロールを作成できます。[データ ソース] のウィンドウを開くには、[データ] のメニューを開き、**[データ ソースの表示]**を選択します。詳細については、「Visual Studio でのデータへのコントロールのバインド」を参照してください。

Visual Studio 2012のデータベース ファイルを使用する

Visual Studio 2012で既存のデータベース ファイル (.mdf) を使用する前に SQL Server 2012 のデータベース ファイルと考えられるファイルを変換する必要があります。既存のデータベース ファイルに接続すると、メッセージ ボックスが向上するかどうかをたずねる。

重要 : 重要

データベース ファイル (.mdf) をアップグレードする場合、SQL Server の以前のバージョンでは開くことができません。

[SQL Server のインスタンス名] SQLEXPRESS がに設定され、SQL Server 2008 Express がインストールされているデータベース ファイル (.mdf) を変換する必要はありません。SQL Server 2008 Express は、Visual Studio 2010 のインストールがインストールされます。このデータベース ファイルのインスタンス名を、[ Visual Studio 2012は変更するには、[接続の追加] のダイアログ ボックスを開き、サーバー名として 。\SQLEXPRESS を指定し、データベースまたはデータベースの名前を指定します。

LocalDB SQL Server Express と SQL Server Express

Visual Studio のすべてのプロジェクトにサービス ベースのデータベース ファイル (.mdf) を追加できます。Visual Studio でテーブルなどのデータベース オブジェクトをデザインするためにデザイナーを使用してクエリを実行できます。

Visual Studio 2012サービス ベースのデータベースを作成すると、Visual Studio の以前のバージョンが SQL Server Express エンジンを使用した場所でデータベース ファイル (.mdf) へのアクセスに SQL Server Express の LocalDB エンジンを使用します。

LocalDB SQL Server Express は、SQL Server データベースと同じ方法でプログラムできる複数の SQL Server の軽量バージョンです。LocalDB SQL Server Express は、ユーザー モードで実行され、いくつかの必須コンポーネントと構成にすばやくインストールできません。

[!メモ]

SQL Server Express に関する LocalDB 詳細については、Microsoft Web サイト LocalDB: My Database はどこにあるか。LocalDB の導入された、SQL Express のアップグレード の " " を参照してください。

Visual Studio 2012では、SQL Server Express の代わりに LocalDB SQL Server Express を既定で使用できます。メニュー バーで、[ツール][オプション]を選択します。[データベース ツール] のノードの下で、[データ接続]を選択します。[SQL Server のインスタンス名] のテキスト ボックスに、[SQLEXPRESS]を入力します。または、SQL Server のインスタンス名 (たとえば、) SQL2008の他の値を格納できます。

次の表は LocalDB SQL Server Express と SQL Server Express のエンジンの違いを示します。

SQL Server Express LocalDB

SQL Server Express

サービス ベースのデータベースを作成するときにデータベースの型

Visual Studio 2012では、SQL Server Express LocalDB

Visual Studio 2010 では以前に、SQL Server Express

ツールとオプションの SQL Server のインスタンス名

(LocalDB) \v11.0

[SQLEXPRESS]

接続文字列データ ソースの値

(LocalDB) \v11.0

.\SQLEXPRESS

接続文字列の AttachDbFilename の値

ファイル パス

ファイル パス

ユーザー インスタンス (接続文字列 「Instance=True ユーザー」)

いいえ

はい

データベース ファイルの拡張子

.mdf

.mdf

SQL Server Express と SQL Server Compact LocalDB の違い

SQL Server Express および SQL Server Compact (.sdf) の LocalDB データベース (.mdf) は次のように異なります:

  • LocalDB SQL Server Express は LocalDB SQL Server Express を有効にする機能の SQL Server サービス ベースのエディションと互換性があります。SQL Server では、なしで SQL Server Express から LocalDB SQL Server または SQL Azure データベースまたはにアップグレード手順の Transact-SQL コードを実行できます。したがって、SQL Server のすべてのエディションを対象とするアプリケーションを開発するために SQL Server Express を使用 LocalDB できます。

  • SQL Server Express を使用している場合 LocalDB、.NET Framework アプリケーションの統合に追加するストアド プロシージャ、ユーザー定義関数、および集約空間の型と SQL Server Compact がサポートしていない他のオブジェクト作成できます。

  • LocalDB SQL Server Express は、SQL Server Express の LocalDB SQL Server Compact が SQL Server の高いエディションがオプティマイザーのと同じクエリとクエリ プロセッサをサポートするよりも信頼性が高く、スケーラブルです。

SQL Server Compact データベースでは、デスクトップ コンピューターおよびスマート デバイスに配置できます。詳細については、「SQL Server Compact 4.0 と Visual Studio」を参照してください。

各プロジェクトには、データベースの 2 種類のコピーが含まれています

プロジェクトをビルドすると、データベース ファイルは、出力 binフォルダーのルート プロジェクト フォルダーからコピーされる場合があります。この動作は、ファイルの [出力ディレクトリにコピー] のプロパティに依存し、そのプロパティの既定値は、使用しているデータベース ファイルの種類によって異なります。

**[ソリューション エクスプローラー]**の bin フォルダーを表示するには、ツール バーの [すべてのファイルを表示] のボタンをクリックします。

[!メモ]

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

ルート プロジェクト フォルダー内のデータベース ファイルは、サーバー エクスプローラーデータベース エクスプローラーまたはその他の Visual Database Tools を使用してデータベースのスキーマまたはデータを編集する場合のみ変更されます。

アプリケーションの開発時には、データを変更するため、bin フォルダーにデータベースを変更します。たとえば、アプリケーションのデバッグに F5 キーを選択すると、そのフォルダー内のデータベースに接続されます。

[出力ディレクトリにコピー] のプロパティの値

[動作]

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

データベース ファイルは、プロジェクト ディレクトリから bin のディレクトリにプロジェクトをビルドする最初にコピーします。プロジェクトを再度ビルド ファイルの 変更日 のプロパティは、たびに比較されます。プロジェクト フォルダーのファイルの方が新しい場合、bin 前にファイルを置き換えてフォルダーにコピーします。それ以外の場合、ファイルはコピーされません。

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

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

データベース ファイルは、プロジェクト ディレクトリから bin のディレクトリにアプリケーションをビルドするたびにコピーします。行われたアプリケーションを実行する出力フォルダー内のデータ ファイルには次に上書きされます。

[コピーしない]

システムは、bin のディレクトリ内のファイルは上書きされません。アプリケーションは出力ディレクトリのデータベース ファイルを指す接続文字列を動的に作成します。したがって、出力ディレクトリのデータにプロジェクト ディレクトリのデータと一致する場合は、出力ディレクトリに手動でファイルをコピーする必要があります。

ローカル データの一般的な問題

次の表は、ローカル データ ファイルを使用するするときに発生する可能性のある一般的な問題を示しています。

懸案事項

説明

アプリケーションをテストしてデータを変更し、次回アプリケーションを実行すると必ず変更内容が失われる

[出力ディレクトリにコピー] プロパティの値は [新しい場合はコピーする] または [常にコピーする]です。プロジェクトをビルド出力フォルダー (アプリケーションをテストするときに変更するデータベース) データベースは上書きされます。詳細については、「方法 : プロジェクトでローカル データ ファイルを管理する」を参照してください。

メッセージがデータ ファイルがロックされていること、言表示されます。

Access (.mdb ファイル) : 別のプログラムでファイルが開かれていないアクセスのようなことを確認します。

SQL Server Express (.mdf ファイル) : コピーする SQL Express なデータ ファイルをロック実行または Visual Studio IDE の外部の名前を変更します。

アクセスは、複数のユーザーが同じデータベースを同時にアクセスしようとすると、拒否されます。

各ユーザー用の SQL Server のインスタンスを作成する SQL Server Express の機能である Visual Studio は、ユーザー インスタンスを使用します。1 人のユーザーがファイルにアクセスすると、それ以降のユーザー接続できなかった後。IIS が別のアカウントで実行されるため、通常この問題が発生することがあります。たとえば、ASP.NET 開発サーバーと Internet Information Services (IIS) Web アプリケーションを実行しようとします。

参照

処理手順

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

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

方法: SQL Server Compact データベースをプロジェクトに追加する

方法 : SQL Server Compact 4.0 データベースをアプリケーションと共に配置する

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

チュートリアル: アプリケーションへの SQL Server Compact データベースの追加とその配置