下表显示了 OLE DB 为会话对象定义的必需接口和可选接口。
| 接口 | 必需? | 由 OLE DB 模板实现? |
|---|---|---|
| IGetDataSource | 必需 | 是 |
| IOpenRowset | 必需 | 是 |
| ISessionProperties | 必需 | 是 |
| IAlterIndex | 可选 | 否 |
| IAlterTable | 可选 | 否 |
| IBindResource | 可选 | 否 |
| ICreateRow | 可选 | 否 |
| IDBCreateCommand | 可选 | 是 |
| IDBSchemaRowset | 可选 | 是 |
| IIndexDefinition | 可选 | 否 |
| ISupportErrorInfo | 可选 | 是 |
| ITableCreation | 可选 | 否 |
| ITableDefinition | 可选 | 否 |
| ITableDefinitionWithConstraints | 可选 | 否 |
| ITransaction | 可选 | 否 |
| ITransactionJoin | 可选 | 否 |
| ITransactionLocal | 可选 | 否 |
| ITransactionObject | 可选 | 否 |
会话对象创建行集对象。 如果提供程序支持命令,会话还会创建命令对象(CCommand,实现 OLE DB TCommand)。 命令对象实现 ICommand 接口,并使用 ICommand::Execute 方法对行集执行命令,如下图所示。
