Differences in OLE DB Interfaces (SQL Server Compact)

Some OLE DB interfaces used with Microsoft SQL Server Compact 4.0 differ from the generic interfaces described in the OLE DB specification.

Implemented OLE DB Interfaces

The differences between SQL Server Compact 4.0 interfaces and the generic interfaces are described in the following table.

Implemented interface

Description of differences

IAccessor

The SQL Server Compact 4.0 IAccessor::CreateAccessor method ignores the DBACCESSOR_OPTIMIZED flag. The DBACCESSOR_OPTIMIZED flag has no effect on the performance of either row or parameter accessors because SQL Server Compact 4.0 does not use an internal row cache. All accessors provide equally good performance. There is no need to optimize accessors performance.

IAlterIndex

The name of an index that can be modified by using IAlterIndex::AlterIndex.

IAlterTable

SQL Server Compact 4.0 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 lets a provider expose any table-altering functionality that exists in a provider. Not every provider allows the same table modifications in their data stores. SQL Server Compact 4.0 supports changing the name of an existing table or column in addition to the DBPROP_COL_DEFAULT, DBPROP_COL_SEED, and DBPROP_COL_INCREMENT properties.

IDBDataSourceAdmin

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

IOpenRowset

Use this interface to open base tables and integrated indexes. You cannot use this interface to open views.

IRowsetCurrentIndex

When attempting 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

IDBProperties

The GetProperties method of IDBProperties returns the default values of all the Properties except LCID.

ITransactionLocal

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

SQL Server Compact 4.0 supports only single-phase commit.

See Also

Reference

Implemented OLE DB Interfaces (SQL Server Compact)