2010-10-29 36 views
1

Je implémente le fournisseur OLE DB pour ma base de données personnalisée. Il sera utilisé à partir des applications ADO. Maintenant, j'ai l'exemple ADO qui crée une connexion ADO puis fermez-le avec la méthode Connection.Close mais pas le pointeur d'interface de libération de l'objet de connexion. Après cet exemple d'application crée un autre objet de connexion et ne parvient pas à l'ouvrir car le premier objet de connexion ne libère pas les ressources système requises pour créer une connexion.Gestion ADODB.Connection.Close dans le fournisseur OLE DB

Évidemment, j'ai besoin de libérer la ressource système lorsque l'exemple d'application appelle la méthode Connection.Close. Mais je ne peux pas trouver OLE DB Interface :: Méthode qui est responsable de la gestion de la connexion ADO. Je pensais IDBInitialize :: Unintialize est responsable de cela. Mais ce n'est pas. Je suis sûr que IDBInitialize :: Unintialize n'est pas appelé lorsque l'application cliaent appelle Connection.Close.

Veuillez me donner quelques conseils sur la façon d'intercepter Connection.Close dans mon fournisseur OLE DB.

Répondre

1

J'ai trouvé une solution. Lorsque la méthode Connection.Close est appelée, ADO libère toutes ses références à l'objet de session OLE DB.