OLE DB インターフェイスの相違点 (SQL Server Compact)

MicrosoftSQL Server Compact 3.5 で使用される OLE DB インターフェイスの一部は、OLE DB 仕様に記述されている汎用インターフェイスと異なっています。

OLE DB インターフェイスの実装

SQL Server Compact 3.5 インターフェイスと汎用インターフェイスの違いを次の表に示します。

実装されているインターフェイス

相違点

IAccessor

SQL Server Compact 3.5 の IAccessor::CreateAccessor メソッドでは、DBACCESSOR_OPTIMIZED フラグが無視されます。SQL Server Compact 3.5 では内部行キャッシュを使用しないため、DBACCESSOR_OPTIMIZED フラグは行アクセサやパラメータ アクセサのパフォーマンスに影響しません。アクセサのパフォーマンスはどれも等しく優れています。アクセサのパフォーマンスを最適化する必要はありません。

IAlterIndex

IAlterIndex::AlterIndex を使用して変更できるインデックスの名前。

IAlterTable

SQL Server Compact 3.5 では自動増分列の増分およびシード変更がサポートされますが、列を自動増分列に変更したり自動増分列から変更したりすることはできません。

IAlterTable でテーブルのすべての詳細を変更できるという保証はありません。これは、プロバイダにあるテーブル変更機能を公開するためのものです。すべてのプロバイダのデータ ストアで同じテーブル変更が許可されるわけではありません。SQL Server Compact 3.5 では、既存のテーブル名または列名の変更のほか、DBPROP_COL_DEFAULT、DBPROP_COL_SEED、および DBPROP_COL_INCREMENT プロパティの変更がサポートされています。

IDBDataSourceAdmin

このインターフェイスは、新規データベースの作成に使用します。このインターフェイスの CreateDataSource メソッドおよび GetCreationProperties メソッドがサポートされます。データベースの変更、削除のためのメソッドはサポートされていません。

IOpenRowset

このインターフェイスは、ベース テーブルと統合インデックスを開くために使用します。このインターフェイスでビューを開くことはできません。

IRowsetCurrentIndex

IRowsetCurrentIndex を使用して現在のインデックスを変更する場合は、次のルールが適用されます。

  • すべてのアクセサ ハンドルを解放する必要があります。

  • すべての行ハンドルを解放する必要があります。

  • すべての保留中の変更を処理済みにする必要があります。

IDBProperties

IDBProperties の GetProperties メソッドは、LCID を除くすべてのプロパティの既定値を返します。

ITransactionLocal

SQL Server Compact 3.5 では、トランザクション分離レベルとして Read Committed、Repeatable Read、および Serializable がサポートされています。Read Commited より低いトランザクション分離レベルを指定すると、設定が無視され、Read Committed トランザクション分離レベルに変更されます。

SQL Server Compact 3.5 でサポートされるのは、単一フェーズ コミットのみです。

関連項目

その他の技術情報

実装されている OLE DB インターフェイス (SQL Server Compact)