Session Object Interfaces
The new home for Visual Studio documentation is Visual Studio 2017 Documentation on docs.microsoft.com.
The latest version of this topic can be found at 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.