Session Object Interfaces
The following table shows the mandatory and optional interfaces defined by OLE DB for a session object.
Interface | Required? | Implemented by OLE DB templates? |
---|---|---|
IGetDataSource | Mandatory | Yes |
IOpenRowset | Mandatory | Yes |
ISessionProperties | Mandatory | Yes |
IAlterIndex | Optional | No |
IAlterTable | Optional | No |
IBindResource | Optional | No |
ICreateRow | Optional | No |
IDBCreateCommand | Optional | Yes |
IDBSchemaRowset | Optional | Yes |
IIndexDefinition | Optional | No |
ISupportErrorInfo | Optional | Yes |
ITableCreation | Optional | No |
ITableDefinition | Optional | No |
ITableDefinitionWithConstraints | Optional | No |
ITransaction | Optional | No |
ITransactionJoin | Optional | No |
ITransactionLocal | Optional | No |
ITransactionObject | Optional | No |
The session object creates a rowset object. If the provider supports commands, the session also creates a command object (CCommand
, implementing the OLE DB TCommand
). The command object implements the ICommand
interface and uses the ICommand::Execute
method to execute commands on the rowset, as shown in the following figure.