Data Provider for SQL Server Compact Edition

System.Data.SqlServerCe 名前空間を使用すると、サポート対象のデバイスで実行されるマネージ アプリケーションのプログラムから Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) データベースにアクセスできます。System.Data.SqlServerCe には、SQL Server Compact Edition の機能を公開するための一連のクラスがあります。この名前空間のクラスの一覧については、「System.Data.SqlServerCe 名前空間オブジェクト」を参照してください。この名前空間のクラスの詳細については、「SQL Server Compact Edition の .NET プログラミング」を参照してください。

サポートされている機能

System.Data.SqlServerCe 名前空間には、次の機能があります。

  • SQL Server Compact Edition データ ソースへの一貫性のあるアクセス。
    データを共有するコンシューマ アプリケーションでは、SQL Server Compact Edition データ プロバイダを使用して、SQL Server Compact Edition データ ソースに接続し、データの取得、操作、および更新を行うことができます。
  • データベースへの接続、コマンドの実行、結果の取得に必要なコンポーネント。
    取得した結果は直接処理してもかまいませんし、ADO .NET の DataSet オブジェクトや ResultSet オブジェクトに格納することによって、ユーザーに公開したり、さまざまなソースからのデータと結合したり、リモートの別の層に反映することもできます。
  • マネージ コードを記述するための開発者向け機能。
    この機能は、ネイティブ COM の開発者向け ADO 機能と似ています。
  • パフォーマンスを最適化するためのインデックス機能。
    SqlCeCommand.SetRange を使用すると、SqlCeDataReader.Read および SqlCeDataReader.Seek の呼び出しで参照できる行セットを制限できます。SqlCeDataReader.Seek では、現在の範囲内にあるキー値を直接位置付けすることができます。
  • SQL Server Compact Edition の Replication オブジェクトおよびリモート データ アクセス (RDA) オブジェクトと対話するためのインターフェイス。SqlCeReplication クラスと SqlCeRemoteDataAccess クラスによって提供されます。
  • SqlCeEngine クラスのメソッド。このクラスのメソッドを使用すると、データベースの作成や最適化ができます。
  • データベースの暗号化とパスワード保護。

プロバイダの制限事項

SQL Server Compact Edition のデータ プロバイダには、以下の制限事項があります。

  • バッチ クエリはサポートされていません。クエリは 1 つの SQL ステートメントで実行する必要があります。以下は、有効なステートメントの例です。

    SELECT * FROM Customers
    

    以下は、無効なステートメントの例です。

    SELECT * FROM Customers; SELECT * FROM Customers2
    

    データセットの更新は、SqlCeDataAdapter で行う必要があります。Visual Studio 2005 プロジェクトのコードを使用している場合は、この制限事項に従うように SQL ステートメントを変更する必要があります。

  • 入れ子になったトランザクションはサポートされませんが、並列トランザクションはサポートされています。

  • 現在、SQL Server Compact Edition は Web サイトのデータベースとして機能するように最適化されていません。既定では、ASP.NET 接続アプリケーションからの接続は SQL Server Compact Edition でブロックされます。SQL Server Compact Edition はアプリケーション内の埋め込み型データベースとして使用するように最適化されています。SQL Server Compact Edition を Web サイトのデータベースとして使用するには、複数のユーザーと、同時実行されるデータ変更をサポートする必要がありますが、これらをサポートすると、パフォーマンス上の問題が生じる場合があります。そのため、このようなシナリオはサポートされていません。SQL Server 2005 Express Edition などの SQL Server 2005 の他のエディションは Web サイトのデータベースとして最適化されています。ASP.NET を使用して SQL Server Compact Edition データベースを作成し同期するアプリケーションのシナリオでは、SQL Server Compact Edition を ASP.NET と共に使用できます。SQL Server Compact Edition が ASP.NET 内で動作するようにその既定の動作を変更するには、次のコードを使用します。

    AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)
    

参照

関連項目

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

ヘルプおよび情報

SQL Server Compact Edition のサポートについて