Partilhar via


CCustomSession (CustomSess.H)

CustomSess.H contém a declaração e a implementação do objeto de sessão do OLE DB. O objeto de fonte de dados cria o objeto de sessão e representa uma conversa entre um consumidor e um provedor. Várias sessões simultâneas podem ser abertas para uma fonte de dados. Segue a lista de heranças para CCustomSession:

/////////////////////////////////////////////////////////////////////////
// CCustomSession
class ATL_NO_VTABLE CCustomSession :
   public CComObjectRootEx<CComSingleThreadModel>,
   public IGetDataSourceImpl<CCustomSession>,
   public IOpenRowsetImpl<CCustomSession>,
   public ISessionPropertiesImpl<CCustomSession>,
   public IObjectWithSiteSessionImpl<CCustomSession>,
   public IDBSchemaRowsetImpl<CCustomSession>,
   public IDBCreateCommandImpl<CCustomSession, CCustomCommand>

O objeto de sessão herda de IGetDataSource, IOpenRowset, ISessionProperties e IDBCreateCommand. A interface IGetDataSource permite que uma sessão recupere a fonte de dados que a criou. Isso será útil se você precisar obter propriedades da fonte de dados que você criou ou outras informações que a fonte de dados pode fornecer. A interface ISessionProperties manipula todas as propriedades da sessão. As interfaces IOpenRowset e IDBCreateCommand são usadas para fazer o trabalho do banco de dados. Se o provedor der suporte a comandos, ele implementará a interface IDBCreateCommand. Ele é usado para criar o objeto de comando que pode executar comandos. O provedor sempre implementa o objeto IOpenRowset. Ele é usado para gerar um conjunto de linhas a partir de um provedor. É um conjunto de linhas padrão (por exemplo, "select * from mytable") de um provedor.

O assistente também gera três classes de sessão: CCustomSessionColSchema, CCustomSessionPTSchema e CCustomSessionTRSchema. Essas sessões são usadas para conjuntos de linhas de esquema. Os conjuntos de linhas de esquema permitem que o provedor retorne metadados ao consumidor sem que o consumidor precise executar uma consulta ou buscar dados. Buscar metadados pode ser muito mais rápido do que encontrar os recursos de um provedor.

A especificação OLE DB exige que os provedores que implementam a interface IDBSchemaRowset ofereçam suporte a três tipos de conjunto de linhas de esquema: DBSCHEMA_COLUMNS, DBSCHEMA_PROVIDER_TYPES e DBSCHEMA_TABLES. O assistente gera implementações para cada conjunto de linhas de esquema. Cada classe gerada pelo assistente contém um método Execute. Nesse método Execute, você pode retornar dados ao provedor sobre as tabelas, colunas e tipos de dados aos quais você dá suporte. Esses dados são conhecidos no momento da compilação.

Confira também

Arquivos gerados pelo Assistente do Provedor