デスクトップ用アプリケーションの構築 (SQL Server Compact)

SQL Server Compact 3.5 は、コンピューター アプリケーションのデータ ストアとして使用できます。このトピックでは、SQL Server Compact 3.5 を Visual Studio 製品に追加し、System.Data.SqlServerCe 名前空間でコードを記述する方法について説明します。System.Data.SqlServerCe 名前空間のマネージ リファレンス トピックは、.NET Framework リファレンス ドキュメントにあります。

コンピュータ プロジェクトの作成

新しいコンピュータ アプリケーションを作成するには、最初に Visual Studio で Windows プロジェクトを作成します。コンピュータ アプリケーションの場合は、次に Microsoft.Ink 名前空間への参照を追加する必要があります。

注意

Windows XP Tablet PC Edition コンピュータ上で Tablet PC アプリケーションを開発する場合以外は、まず、Microsoft Windows XP Tablet PC Edition Development Kit をインストールする必要があります。最新版は、モバイル アプリケーションおよび埋め込みアプリケーション デベロッパー センターからダウンロードできます。

新しいコンピュータ プロジェクトを作成するには

  1. Visual Studio の [ファイル] メニューで、[新規作成] をポイントし、[プロジェクト] をクリックします。

  2. [新しいプロジェクト] ダイアログ ボックスの [インストールされているテンプレート] の一覧で、使用するプログラミング言語を展開し、[Windows] をクリックします。

  3. [テンプレート] の一覧で、[Windows フォーム アプリケーション] をクリックします。

  4. プロジェクトの名前と場所を指定し、[OK] をクリックします。

    Visual Studio によって新しいプロジェクトが作成され、メイン フォーム (Form1) が表示されます。

  5. (オプション) ソリューション エクスプローラで、[参照設定] を右クリックし、[参照の追加] をクリックします。

    注意

    ソリューション エクスプローラーに [参照設定] フォルダーが表示されていない場合は、ソリューション エクスプローラーの上部の [すべてのファイルを表示] をクリックします。

  6. (オプション) .NET アセンブリの一覧で、[Microsoft Tablet PC API] をクリックし、[OK] をクリックします。

    参照設定の一覧に、[Microsoft.Ink] が追加されているはずです。

中心配置用に構築する際のプロジェクトへの SQL Server Compact 3.5 の追加

プロジェクトを作成した後、SQL Server Compact 3.5 アセンブリへの参照を追加する必要があります。アプリケーションを構築する際の SQL Server Compact 3.5 アセンブリへの参照の追加手順は、アプリケーションが SQL Server Compact 3.5 のプライベート配置用か、中心配置用かによって多少異なります。中心配置用では、次の手順に従います。

中心配置用に SQL Server Compact 3.5 への参照を追加するには

  1. ソリューション エクスプローラーで、[参照設定] を右クリックし、[参照の追加] をクリックします。

    注意

    ソリューション エクスプローラーに [参照設定] フォルダーが表示されていない場合は、ソリューション エクスプローラーの上部の [すべてのファイルを表示] をクリックします。

  2. .NET アセンブリの一覧で [System.Data.SqlServerCe] をクリックし、[OK] をクリックします。System.Data.SqlServerCe が表示されない場合、次の手順を実行します。

    1. [参照の追加] ダイアログ ボックスの [参照] をクリックします。

    2. フォルダー (%Program Files%\Microsoft SQL Server Compact Edition\v3.5\Desktop) に移動します。

    3. [System.Data.SqlServerCe.dll] をクリックし、[OK] をクリックします。

    ソリューション エクスプローラーの参照設定の一覧に System.Data.SqlServerCe が追加され、このアセンブリをプロジェクトで使用できるようになりました。

    注意

    プロジェクトで Entity Framework を使用する場合、同じ手順を繰り返して System.Data.SqlServerCe.Entity への参照を追加します。.NET アセンブリの一覧から System.Data.SqlServerCe.Entity を追加することも、%Program Files%\Microsoft SQL Server Compact Edition\v3.5 を参照することもできます。

  3. ソリューション エクスプローラーで [Form1.cs] または [Form1.vb] を右クリックし、[コードの表示] をクリックします。

  4. フォームのコードの先頭に System.Data.SqlServerCe 名前空間を使用するディレクティブを追加します。Entity Framework を使用する場合は、System.Data.SqlServerCe 名前空間を使用するディレクティブを追加します。Tablet PC アプリケーションの場合は、Tablet PC API を使用するディレクティブも追加します。

    • C#

      using System.Data.SqlServerCe;
      using System.Data.SqlServerCe.Entity; 
      using Microsoft.Ink;
      
    • Visual Basic

      Imports System.Data.SqlServerCe
      Imports System.Data.SqlServerCe.Entity
      Imports Microsoft.Ink
      

プライベート配置用に構築する際のプロジェクトへ SQL Server Compact 3.5 の追加

プロジェクトを作成した後、SQL Server Compact 3.5 アセンブリへの参照を追加する必要があります。アプリケーションを構築する際の SQL Server Compact 3.5 アセンブリへの参照の追加手順は、アプリケーションが SQL Server Compact 3.5 のプライベート配置用か、中心配置用かによって多少異なります。プライベート配置用では、次の手順に従います。

中心配置用に SQL Server Compact 3.5 への参照を追加するには

  1. ソリューション エクスプローラーで、[参照設定] を右クリックし、[参照の追加] をクリックします。

    注意

    ソリューション エクスプローラーに [参照設定] フォルダーが表示されていない場合は、ソリューション エクスプローラーの上部の [すべてのファイルを表示] をクリックします。

  2. [参照の追加] ダイアログ ボックスの [参照] をクリックします。

  3. フォルダー (%Program Files%\Microsoft SQL Server Compact Edition\v3.5\Private) に移動します。

  4. System.Data.SqlServerCe をクリックし、[OK] をクリックします。

    ソリューション エクスプローラーの参照設定の一覧に System.Data.SqlServerCe が追加され、このアセンブリをプロジェクトで使用できるようになりました。

    注意

    プロジェクトで Entity Framework を使用する場合、同じ手順を繰り返して System.Data.SqlServerCe.Entity への参照を追加します (プライベート配置の場合、System.Data.SqlServerCe.Entity は %Program Files%\Microsoft SQL Server Compact Edition\v3.5\Private フォルダーからも追加されます)。

  5. ソリューション エクスプローラーで [Form1.cs] または [Form1.vb] を右クリックし、[コードの表示] をクリックします。

  6. フォームのコードの先頭に System.Data.SqlServerCe 名前空間を使用するディレクティブを追加します。Entity Framework を使用する場合は、System.Data.SqlServerCe 名前空間を使用するディレクティブを追加します。Tablet PC アプリケーションの場合は、Tablet PC API を使用するディレクティブも追加します。

    • C#

      using System.Data.SqlServerCe;
      using System.Data.SqlServerCe.Entity; 
      using Microsoft.Ink;
      
    • Visual Basic

      Imports System.Data.SqlServerCe
      Imports System.Data.SqlServerCe.Entity
      Imports Microsoft.Ink
      

プライベート配置用の SQL Server Compact の構成

SQL Server Compact 3.5 のプライベート配置を使用するアプリケーションを構築するには、.NET Framework データ プロバイダーと必要なネイティブ DLL がアプリケーションの出力ディレクトリに配置されている必要があります。アプリケーションで SQL Server Compact 3.5 のプライベート配置を使用する場合は、このセクションの手順に従います。アプリケーションでプライベート配置を使用しない場合は、このセクションを省略してください。SQL Server Compact 3.5 のプライベート配置の詳細については、「プライベート配置と中心配置 (SQL Server Compact)」を参照してください。次の手順では、アプリケーションが任意のプラットフォーム (32 ビットと 64 ビット) を対象として構築されることを前提としています。アプリケーションがこれらのプラットフォームのどちらかを対象としている場合は、他のプラットフォームに該当する手順を省略できます。

SQL Server Compact のプライベート配置用にアプリケーションを構成するには

  1. プロジェクトの構築時に出力ディレクトリにコピーされるように、.NET Framework Data Provider for SQL Server Compact 3.5 アセンブリを構成します。

    1. ソリューション エクスプローラーで、[参照設定] を展開して、System.Data.SqlServerCe を右クリックし、[プロパティ] をクリックします。

    2. System.Data.SqlServerCe の [参照プロパティ] で、[ローカル コピー]True に設定します。

    注意

    プロジェクトで Entity Framework を使用する場合は、System.Data.SqlServerCe.Entity の場合と同じ手順を繰り返して、出力ディレクトリにコピーされるように Entity Framework Data Provider for SQL Server Compact 3.5 を構成します。

  2. 必要な 32 ビットの SQL Server Compact 3.5 ネイティブ ライブラリをプロジェクトに追加します。

    1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[追加] をポイントして、[新しいフォルダー] をクリックします。フォルダーに「x86」という名前を付けます。

    2. ソリューション エクスプローラーで、x86 フォルダーを右クリックし、[追加] をポイントして、[既存の項目] をクリックします。

    3. [既存項目の追加] ダイアログ ボックスで、32 ビットのネイティブ ライブラリが配置されたフォルダーを参照します。Windows の 32 ビット バージョンの場合、このフォルダーは %Program Files%\Microsoft SQL Server Compact Edition\v3.5 です。Windows の 64 ビット バージョンの場合、このフォルダーは %Program Files (x86)%\Microsoft SQL Server Compact Edition\v3.5 です。

    4. プロジェクトに必要な各ネイティブ ライブラリをコントロール クリックしてファイル一覧でそれらを選択し、[OK] をクリックします。ライブラリは、x86 フォルダーに追加されます。

      注意

      少なくとも、sqlceme35.dll、sqlceqp35.dll、sqlcese35.dll、および sqlceer35.dll のライブラリを追加する必要があります。

  3. 必要な 64 ビットの SQL Server Compact 3.5 ネイティブ ライブラリをプロジェクトに追加します。

    1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[追加] をポイントして、[新しいフォルダー] をクリックします。フォルダーに「x64」という名前を付けます。

    2. ソリューション エクスプローラーで、x64 フォルダーを右クリックし、[追加] をポイントして、[既存の項目] をクリックします。

    3. [既存項目の追加] ダイアログ ボックスで、64 ビットのネイティブ ライブラリが配置されたフォルダーを参照します。Windows の 64 ビット バージョンの場合、このフォルダーは %Program Files%\Microsoft SQL Server Compact Edition\v3.5 です。

      注意

      Windows の 32 ビット バージョンを実行しているコンピューターに SQL Server Compact 3.5 の 64 ビット バージョンをインストールすることはできません。32 ビット開発環境で構築されるプロジェクトに 64 ビットのネイティブ ライブラリを追加するには、まず、開発コンピューターで 64 ビット インストーラーからディレクトリにファイルを抽出する必要があります。抽出したら、このディレクトリを参照して、プロジェクトに 64 ビット ネイティブ ライブラリを追加できます。インストーラーからファイルを抽出する方法の詳細については、「方法: 64 ビット版の DLL を SQL Server Compact ランタイム インストーラーから抽出する」を参照してください。

    4. プロジェクトに必要な各ネイティブ ライブラリをコントロール クリックしてファイル一覧でそれらを選択し、[OK] をクリックします。ライブラリは、x64 フォルダーに追加されます。

      注意

      少なくとも、sqlceme35.dll、sqlceqp35.dll、sqlcese35.dll、および sqlceer35.dll のライブラリを追加する必要があります。

  4. プロジェクトの構築時に出力ディレクトリにコピーされるように、前の手順で追加した各ネイティブ ライブラリを構成します。両方のディレクトリのライブラリでこの操作を行う必要があります。

    1. ソリューション エクスプローラーで、ライブラリ (たとえば、sqlcese35.dll) を右クリックし、[プロパティ] をクリックします。

      注意

      ソリューション エクスプローラーにアセンブリが表示されていない場合は、ソリューション エクスプローラーの上部の [すべてのファイルを表示] をクリックします。

    2. ファイルの [プロパティ][出力ディレクトリにコピー] ドロップダウン リストで [常にコピーする] または [新しい場合はコピーする] をクリックします。

  5. 任意の CPU に対して構築するようにプロジェクトを構成します。

    1. ソリューション エクスプローラーで、プロジェクトを右クリックし、[プロパティ] をクリックして、プロジェクト デザイナーを開きます。

    2. [構築] をクリックし、[プラットフォーム ターゲット] ドロップダウン リストで [任意の CPU] をクリックします。

SQL Server Compact 3.5 オブジェクトの使用

System.Data.SqlServerCe 名前空間を追加すると、その名前空間で、SQL Server Compact 3.5 オブジェクトを使用してコードを作成できます。次のコード例は、Engine オブジェクトを使用して SQL Server Compact 3.5 データベース ファイルを新規作成する方法を示しています。

using System;
using System.Data.SqlServerCe;
using System.IO;

public class MySqlCeEngine
{
    public void CreateDB()
    {
        File.Delete("Test.sdf");
        string connString = "Data Source='Test.sdf'; LCID=1033;   Password=<enterStrongPasswordHere>; Encrypt = TRUE;";
        SqlCeEngine engine = new SqlCeEngine(connString);
        engine.CreateDatabase();
    }
}
Imports System
Imports System.Data.SqlServerCe
Imports System.IO

Public Class MySqlCeEngine

    Public Sub CreateDB()
        File.Delete("Test.sdf")
        Dim connString As String = "Data Source='Test.sdf'; LCID=1033; Password=<enterStrongPasswordHere>; Encrypt = TRUE;"
        Dim engine As New SqlCeEngine(connString)
        engine.CreateDatabase()
    End Sub
End Class 

関連項目

参照

System.Data.SqlServerCe 名前空間 (.NET Framework リファレンス ドキュメント)