デバイスとデータ アクセス
更新 : 2007 年 11 月
.NET Compact Framework 内のデータにアクセスするアプリケーションを作成するときは、次の点を考慮してください。
.NET Compact Framework では、次のクラスをサポートしていません。
System.Data.OleDb 名前空間
System.Data.SqlClient.SqlClientPermission クラス
System.Data.SqlClient.SqlClientPermissionAttribute クラス
デバイスのサイズやパフォーマンス上の理由から、.NET Compact Framework では次の表の機能はサポートしていません。
サポートされていない機能
解説
接続プール
デバイスから SQL Server の 1 つのインスタンスへの接続は常に少数です。
分散トランザクション
トランザクションが複数のデータベースまたはサーバーにまたがることはできません。分散トランザクション時には、System.Data.SqlClient によって InvalidOperationException が生成されます。
デバイス クレードルによる接続
SQL Server インスタンスへは TCP/IP 接続だけがサポートされます。
暗号化接続
SQL Server インスタンスへの暗号化接続はサポートされません。
次の SqlConnection.ConnectionString のプロパティはサポートされていません。
attachdbfilename
max pool size
connection lifetime
min pool size
connection reset
network library
encrypt
pooling
enlist
ANSI データは、英語対応デバイスの SQL_Latin1_General_CP1_CI_AS 照合順序だけでサポートされています。.NET Framework のすべての文字列は Unicode です。System.Data.SqlClient が、.NET Framework の Encoding クラスを使用して、SQL Server の ANSI データを Unicode に変換します。Encoding クラスは .NET Compact Framework でサポートされていますが、すべてのコード ページでサポートされているわけではありません。
また、該当する ANSI 列のコード ページが Windows CE .NET ベースのデバイスで使用できない場合、System.Data.SqlClient はその ANSI 列の読み取りまたは書き込みを行うことができません。ANSI から Unicode への変換のコード ページが使用できない場合は、System.Data.SqlClient によってエラーが生成されます。Windows CE .NET ベースの特定のデバイスで使用できるコード ページについては、デバイスのメーカーに問い合わせてください。
Windows 認証がサポートされていますが、ドメイン コントローラで認証のために使用されるユーザー ID とパスワードは、常に接続文字列に指定する必要があります。
Microsoft Windows CE ベースのデバイスで System.Data.SqlClient を使用するアプリケーションは、SQL Server 認証の代わりに Windows NTLM (NT LAN Manager) 認証プロトコルを使用できます。このためには、接続文字列に次のプロパティを組み込む必要があります。
Integrated Security=SSPI; User ID=DOMAIN\username; Password=********;
System.Data.SqlClient は、カスタム ポートで実行している名前付きインスタンスまたは SQL Server のポート番号を自動的に検出することはできません。カスタム ポートで実行しているサーバーに接続するには、ポート番号を接続文字列のコンマの後に指定する必要があります。次に例を示します。
Data Source=myServer\myInstance,3860, UserID=test; ...