Session 对象由 DataSource 对象创建。 Session 对象用于创建一个或多个 Rowset 对象。
当前版本的 DB2 的 Microsoft OLE DB 提供程序 支持 Session 对象的以下接口:
IDBCreateCommand
IDBSchemaRowset
IGetDataSource
IOpenRowset
ISessionProperties
ISupportErrorInfo
ITransaction
ITransactionLocal
ITransactionObject
使用者可以使用 IDBSchemaRowset 方法获取有关数据存储的信息,而无需了解其结构。 此接口上的方法可用于检索高级架构信息。 OLE DB Provider for DB2 将每个 DB2 数据库服务器组织在一组架构中,其中包含每个架构的表。 这些架构行集由全局唯一标识符 (GUID) 标识。
OLE DB Provider for DB2 支持以下架构行集 GUID:
DBSCHEMA_COLUMNS
DBSCHEMA_INDEXES
DBSCHEMA_PRIMARY_KEYS
DBSCHEMA_PROCEDURES
DBSCHEMA_PROCEDURE_PARAMETERS
DBSCHEMA_PROVIDER_TYPES
DBSCHEMA_TABLES
下表列出了在使用 OLE DB 访问接口 for DB2 时,这些 GUID 和列可以在架构行集上指定限制。 每个架构行集的限制列数定义为 OLE DB 头文件中以 CRESTRICTIONS_ 为前缀的常量。 限制值被视为文本而不是搜索模式。 例如,限制值“A_C”与“A_C”匹配,但与“ABC”匹配。
| GUID | 限制数 | 限制列 |
|---|---|---|
| DBSCHEMA_COLUMNS | 4 | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME COLUMN_NAME |
| DBSCHEMA_INDEXES | 4 | TABLE_CATALOG TABLE_SCHEMA INDEX_NAME TABLE_NAME |
| DBSCHEMA_PRIMARY_KEYS | 3 | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME |
| DBSCHEMA_PROCEDURES | 4 | PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PROCEDURE_TYPE |
| DBSCHEMA_PROCEDURE_PARAMETERS | 4 | PROCEDURE_CATALOG PROCEDURE_SCHEMA PROCEDURE_NAME PARAMETER_NAME |
| DBSCHEMA_PROVIDER_TYPES | 2 | DATA_TYPE BEST_MATCH |
| DBSCHEMA_TABLES | 4 | TABLE_CATALOG TABLE_SCHEMA TABLE_NAME TABLE_TYPE |
请注意,OLE DB Provider for DB2 不支持对 DBSCHEMA_INDEXES GUID 的 TYPE 限制。
连接到 z/OS 平台上的 DB2 时,不支持对 DBSCHEMA_PROCEDURE GUID 和 DBSCHEMA_PROCEDURE_PARAMETERS GUID 的PROCEDURE_SCHEMA限制。