CCustomSession (CustomSess.H)
Sess.H personnalisécontient la déclaration et l’implémentation de l’objet de session OLE DB. L’objet source de données crée l’objet de session et représente une conversation entre un consommateur et un fournisseur. Plusieurs sessions simultanées peuvent être ouvertes pour une source de données. Liste d’héritage pour CCustomSession
les éléments suivants :
/////////////////////////////////////////////////////////////////////////
// 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>
L’objet de session hérite de IGetDataSource
, , IOpenRowset
ISessionProperties
et IDBCreateCommand
. L’interface IGetDataSource
permet à une session de récupérer la source de données qui l’a créée. Cela est utile si vous devez obtenir des propriétés à partir de la source de données que vous avez créée ou d’autres informations que la source de données peut fournir. L’interface ISessionProperties
gère toutes les propriétés de la session. Les IOpenRowset
interfaces et IDBCreateCommand
les interfaces sont utilisées pour effectuer le travail de la base de données. Si le fournisseur prend en charge les commandes, il implémente l’interface IDBCreateCommand
. Il est utilisé pour créer l’objet de commande qui peut exécuter des commandes. Le fournisseur implémente toujours l’objet IOpenRowset
. Il est utilisé pour générer un ensemble de lignes à partir d’un fournisseur. Il s’agit d’un ensemble de lignes par défaut (par exemple) "select * from mytable"
d’un fournisseur.
L’Assistant génère également trois classes de session : CCustomSessionColSchema
, CCustomSessionPTSchema
et CCustomSessionTRSchema
. Ces sessions sont utilisées pour les ensembles de lignes de schéma. Les ensembles de lignes de schéma permettent au fournisseur de retourner des métadonnées au consommateur sans que le consommateur ait à exécuter une requête ou à extraire des données. L’extraction des métadonnées peut être beaucoup plus rapide que la recherche des fonctionnalités d’un fournisseur.
La spécification OLE DB exige que les fournisseurs implémentant l’interface IDBSchemaRowset
prennent en charge trois types d’ensembles de lignes de schéma : DBSCHEMA_COLUMNS, DBSCHEMA_PROVIDER_TYPES et DBSCHEMA_TABLES. L’Assistant génère des implémentations pour chaque ensemble de lignes de schéma. Chaque classe générée par l’Assistant contient une Execute
méthode. Dans cette Execute
méthode, vous pouvez retourner des données au fournisseur sur les tables, colonnes et types de données pris en charge. Ces données sont connues au moment de la compilation.