Implemented OLE DB Interfaces (SQL Server Compact Edition)

  • The OLE DB Provider for Microsoft SQL Server 2005 Compact Edition (SQL Server Compact Edition) implements the IRowsetPosition OLE DB interface. This is specific to SQL Server Compact Edition. The OLE DB provider for SQL Server Compact Edition also fully supports the following core OLE DB interfaces:
  • IColumnsInfo
  • ICommand
  • ICommandPrepare
  • ICommandProperties
  • ICommandText
  • ICommandWithParameters
  • IConvertType
  • IDBCreateCommand
  • IDBCreateSession
  • IDBInfo
  • IDBInitialize
  • IDBProperties
  • IDBSchemaRowset
  • IGetDataSource
  • IIndexDefinition
  • IRowset
  • IRowsetBookmark
  • IRowsetChange
  • IRowsetIndex
  • IRowsetInfo
  • IRowsetUpdate
  • ISequentialStream
  • ISessionProperties
  • ISupportErrorInfo
  • ITableCreation
  • ITableDefinition
  • ITableDefinitionWithConstraints


The ISSCECompact interface, which was supported by earlier versions of SQL Server Compact Edition, has been deprecated in SQL Server Compact Edition. Equivalent functionality is found in the CompactDatabase Method (SQL Server Compact Edition) of the Engine object.

The OLE DB provider for SQL Server Compact Edition also supports several core OLE DB interfaces with some differences in how the interfaces are supported. The following table lists these interfaces and describes how the support differs from the generic OLE DB specification:

Implemented interface Description of differences


The SQL Server Compact Edition IAccessor::CreateAccessor method ignores the DBACCESSOR_OPTIMIZED flag. The DBACCESSOR_OPTIMIZED flag does not affect the performance of either row or parameter accessors because SQL Server Compact Edition does not use an internal row cache. All accessors provide equally good performance. Therefore, you do not have to optimize accessor performance.


Only the name of an index that can be modified using IAlterIndex::AlterIndex. This functionality is deprecated.


SQL Server Compact Edition supports incrementing and changing the seed of an autoincrement column, but not changing a column to or from autoincrement.

IAlterTable does not guarantee that you can modify every detail about a table. It provides the mechanism for a provider to reveal any table-altering functionality that exists in a provider. Therefore, not every provider permits the same table modifications in their data stores. SQL Server Compact Edition supports changing the name of an existing table or column and the DBPROP_COL_DEFAULT, DBPROP_COL_SEED, and DBPROP_COL_INCREMENT properties.

The object renaming functionality is deprecated.


This interface is used to create a new database. The CreateDataSource and GetCreationProperties methods on this interface are supported. Methods for modifying or deleting databases are not supported.


This interface is used to open base tables and indexes.


When you try to change the current index by using IRowsetCurrentIndex, the following rules apply:

  • All accessor handles must be released.
  • All row handles must be released.
  • No pending changes should be outstanding


The OLE DB provider for SQL Server Compact Edition does not support IRowsetLocate or IRowsetScroll. Therefore, this interface is used only to reveal row count and position information and is supported only on scrollable Query Processor cursors. For more information, see IRowsetPosition (SQL Server Compact Edition).


SQL Server Compact Edition supports the Read Committed, Repeatable Read, and Serializable Transaction Isolation Levels. If you specify a lower Transaction Isolation Level than Read Committed, the setting is ignored and changed to Read Committed Transaction Isolation Level.


For more information, see ILockBytes (SQL Server Compact Edition).

For more information about the differences between the OLE DB provider for SQL Server Compact Edition and the generic OLE DB interfaces, see Differences in SQL Server Compact Edition-Supported OLE DB Interfaces.

See Also


Implemented OLE DB Interfaces (SQL Server Compact Edition)
OLE DB Properties (SQL Server Compact Edition)
IRowsetPosition (SQL Server Compact Edition)

Other Resources

ILockBytes (SQL Server Compact Edition)

Help and Information

Getting SQL Server Compact Edition Assistance