概述

神通数据库 OLE DB通过神通数据库底层接口来访问数据,为用户提供一组高性能的访问神通数据库的COM接口。神通数据库 OLE DB兼容OLE DB 2.0规范。

OLE DB体系结构中包含二个角色:使用者,提供者。提供者就是OLE DB,提供一组COM组件。所有的数据以虚拟表的形式来组织,对于神通数据库关系数据库而言,这也是一种自然组织方式。提供者内部使用神通数据库 CFCI对底层数据库进行访问,保证了数据访问的高效。使用者使用基于COM的OLE DB API和提供者进行交互。

神通数据库 OLE DB包含7个核心组件。这些组件由提供者实现,被使用者使用。这7个组件的说明如下。

Enumerator对象被用来定位数据源(data source)。使用者可以用Enumerator来检索系统中可用的数据源。一旦通过Enumerator对象选择了一个数据源,data source对象就会被创建。

Data source 对象用来连接底层的数据存储(OSCAR)。每个data source组件都有一个唯一的CLSID,使用者可以使用这个CLSID,通过CoCreateInstance函数直接创建一个data source对象实例;使用者也可以使用Enumerator对象获取data source对象。

通过data source对象可以创建Session对象。Session对象代表对数据源的一个特定连接。Session对象定义了一个事务操作的边界。它也可以创建Command和Rowset对象,使用者主要通过这两个对象来访问数据。一个Data source对象可以创建多个Session对象。

Command对象负责控制和执行查询命令。一个Session对象可以创建多个Command对象。尽管在OLE DB规范中,Command对象没有规定查询命令所使用的语言,但对于神通数据库 OLE DB而言,查询语言就是SQL语言。

Rowset对象可以直接通过Session对象得到,也可以通过一个执行查询命令的Command对象得到。Rowset用表格的形式存储数据。使用者可以通过Rowset读取或者更新数据。

Error对象能够被任何其他的OLE DB对象生成。相对于COM方法的返回值HRESULT,Error对象包含更丰富的错误信息。