Edit

Share via


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.

Provider conceptual diagram.

See also

OLE DB Provider Template Architecture