.NET Compact Framework Data Provider for SQL Server (SQL Server Compact)

.NET Compact Framework を使用すると、System.Data.SqlClient 名前空間を使用して SQL Server Version 7.0 以降のデータベースにアクセスするデバイス アプリケーションを開発できます。System.Data.SqlClient とは、.NET Compact Framework Data Provider for SQL Server の名前空間のことです。このデータ プロバイダは、Microsoft.NET Framework の System.Data.SqlClient 名前空間に対応します。

注意

デスクトップ アプリケーションを開発する際は、.NET Framework Data Provider for SQL Server を使用する必要があります。

.NET Compact Framework の System.Data.SqlClient は、.NET Framework と同様に、Windows CE .NET ベースのデバイスからマネージ コードで SQL Server データベースにアクセスするために使用できるクラスのコレクションです。 

特に指定のない限り、System.Data.SqlClient 名前空間のすべてのオブジェクトが、.NET Framework の System.Data.SqlClient 名前空間の対応するオブジェクトと一致します。この名前空間のクラスの詳細については、MicrosoftVisual Studio 2008 の .NET Compact Framework SDK を参照してください。

プロバイダの制限事項

Windows CE .NET ベースのデバイスと .NET Compact Framework に適用される制限事項および例外事項を以下に示します。

  • サポートされていないクラス

    SqlClientPermission クラスと SqlClientPermissionAttribute クラスはサポートされていません。

  • ConnectionString プロパティ

    次の ConnectionString プロパティは、サポートされていません。

    • AttachDBFilename

    • Max Pool Size

    • Min Pool Size

    • Connection Lifetime

    • Connection Reset

    • Enlist

    • Pooling

    • Network Library

    • Encrypt

    スマート デバイスの System.Data.SqlClient を使用するアプリケーションでは、SQL Server 認証の代わりに Windows 認証プロトコルを使用できます。このプロトコルを利用するには、接続文字列に以下のプロパティを設定する必要があります。

    プロパティ

    Integrated Security

    SSPI

    User ID

    Domain\username

    Password

    <password>

  • ANSI データ

    ANSI データがサポートされているのは、英語版のデバイスでの SQL_Latin1_General_CP1_CI_AS 照合順序に対してのみです。.NET Framework のすべての文字列は Unicode です。System.Data.SqlClient では、.NET Framework の Encoding クラスが使用され、SQL Server の ANSI データが Unicode に変換されます。.NET Compact Framework で Encoding クラスがサポートされていても、すべてのコード ページがサポートされるわけではありません。

    また、Windows CE ベースのデバイスで利用できないコード ページの列の場合は、System.Data.SqlClient で ANSI 列に対する読み取り/書き込みができません。ANSI から Unicode に変換するためのコード ページが利用できない場合は、System.Data.SqlClient によってエラーが生成されます。

    特定のスマート デバイスで利用できるコード ページの情報については、デバイスの製造元にお問い合わせください。

  • 接続のプール

    接続のプールはサポートされていません。デバイスが SQL Server のインスタンスに対して保持できる接続の数は少数に限られています。

  • 分散トランザクション

    分散トランザクションはサポートされていません。トランザクションは、複数のデータベースや複数のサーバーにまたがって実行できません。System.Data.SqlClient は、分散トランザクションの場合 InvalidOperationException 例外を生成します。

  • Net-Library 設定の選択

    SQL Server のインスタンスへの接続については、TCP/IP のみがサポートされています。System.Data.SqlClient では、デバイスのクレイドルを経由して SQL Server に接続できません。

  • Net-Library 暗号化

    SQL Server のインスタンスへの暗号化接続はサポートされていません。SQL Server を実行しているコンピュータに SSL (Secure Sockets Layer) 証明書がインストールされている場合、接続は失敗します。

  • Windows 認証

    Windows 認証はサポートされています。ただし、ドメイン コントローラ内で認証に使用するユーザー ID とパスワードは、常に接続文字列で指定する必要があります。

詳細については、MicrosoftVisual Studio 2008 の .NET Compact Framework SDK に含まれている、System.Data.SqlClient 名前空間についてのリファレンス ドキュメントを参照してください。

関連項目

参照

System.Data.SqlServerCe