OLE DB 接口的不同之处 (SQL Server Compact)

与 Microsoft SQL Server Compact 4.0 一起使用的某些 OLE DB 接口与 OLE DB 规范中介绍的通用接口不同。

实现的 OLE DB 接口

下表对 SQL Server Compact 4.0 接口与通用接口之间的差异进行了说明:

实现的接口

差异描述

IAccessor

SQL Server Compact 4.0IAccessor::CreateAccessor 方法忽略 DBACCESSOR_OPTIMIZED 标志。DBACCESSOR_OPTIMIZED 标志对行取值函数或参数取值函数的性能没有影响,这是因为 SQL Server Compact 4.0 不使用内部行缓存。所有取值函数都提供同样出色的性能。不需要优化取值函数性能。

IAlterIndex

可以通过使用 IAlterIndex::AlterIndex 修改的索引的名称。

IAlterTable

SQL Server Compact 4.0 支持对 Autoincrement 列的种子进行增加和更改,但是不能在其他列和 Autoincrement 列之间来回更改。

IAlterTable 不保证可以修改每个表的详细信息。它允许提供程序展现自身存在的任何表更改功能。并不是每个提供程序都允许在它们的数据存储区中进行相同表的修改。SQL Server Compact 4.0 支持更改现有表或列的名称,还支持更改 DBPROP_COL_DEFAULT、DBPROP_COL_SEED 和 DBPROP_COL_INCREMENT 属性。

IDBDataSourceAdmin

使用此接口可新建数据库。支持该接口上的 CreateDataSource 和 GetCreationProperties 方法。不支持修改或删除数据库的方法。

IOpenRowset

使用此接口可打开基表和集成索引。不能使用此接口打开视图。

IRowsetCurrentIndex

当试图使用 IRowsetCurrentIndex 更改当前索引时,必须遵循下列规则:

  • 必须释放所有取值函数句柄。

  • 必须释放所有行句柄。

  • 不应该有任何挂起的更改尚未完成。

IDBProperties

IDBProperties 的 GetProperties 方法将返回除 LCID 之外所有属性的默认值。

ITransactionLocal

SQL Server Compact 4.0 支持 Read Committed、Repeatable Read 和 Serializable事务隔离级别。如果指定低于 Read Commited 的事务隔离级别,则将忽略该设置并将其更改为 Read Committed 事务隔离级别。

SQL Server Compact 4.0 仅支持单阶段提交。

请参阅

参考

实现的 OLE DB 接口 (SQL Server Compact)