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

Concepts

OLE DB Provider Template Architecture