OVH Cloud OVH Cloud

ADO et fermeture de connexion

3 réponses
Avatar
Eric
bonjour =E0 tous.

j'utilise ADO via ODBC pour me connecter =E0 une base SQL.=20
via ODBC car pour des questions d'integrit=E9, je dois=20
passer par ODBC et non en natif sur SQL.

Question : y a t'il d'autres propri=E9t=E9s pour fermer la=20
connection que :
cnxODBC.close
Set cnxODBC =3D Nothing

mon probl=E8me, l'application lancait avec VB se bloque
sur cnxODBC.open lorsque je relance l'applic via F5 dans=20
VB alors que si je quitte VB et que je relance l'applic,=20
tout fonctionne normalement.
On dirait que la connexion n'est pas correctement ferm=E9e.

3 réponses

Avatar
Cédric Naudy
cn.close et mettre l'objet à nothing sont suffisant. Votre problème est
bizarre. Cela se produit-il avec tous les drivers odbc ou seulement avec 1 ?

C'est le driver Microsoft que vous utilisez ?

Je n'ai jamais eu ce genre de problème. Vous avez le m^me problème si vous
utilisez un vbscript ?

Cédric

"Eric" wrote in message
news:06e201c3c943$09737820$
bonjour à tous.

j'utilise ADO via ODBC pour me connecter à une base SQL.
via ODBC car pour des questions d'integrité, je dois
passer par ODBC et non en natif sur SQL.

Question : y a t'il d'autres propriétés pour fermer la
connection que :
cnxODBC.close
Set cnxODBC = Nothing

mon problème, l'application lancait avec VB se bloque
sur cnxODBC.open lorsque je relance l'applic via F5 dans
VB alors que si je quitte VB et que je relance l'applic,
tout fonctionne normalement.
On dirait que la connexion n'est pas correctement fermée.
Avatar
Zoury
Salut Eric! :O)

Question : y a t'il d'autres propriétés pour fermer la
connection que :
cnxODBC.close
Set cnxODBC = Nothing



Le .Close *devrait* suffire pour fermer la connexion. Vérifie l'état de la
connection suite à l'appel de la méthode .Close :

'***
Call cn.Close
Debug.Print "La connexion est ouverte : " & cn.State = adStateOpen
'***

Pour ce qui est de la détruire, un objet COM n'est libéré que lorsqu'il
n'est plus référencé par aucune variable.. donc si ta connexion est associée
à un Grid ou un recordset ou un objet Command, etc... elle ne sera détruite
que lorsque c'est même objet seront détruit ou lorsque tu libéreras cette
connexion..

--
Cordialement
Yanick Lefebvre - MVP pour Visual Basic
http://faq.vb.free.fr/?rubrique=0 - http://www.mvps.org/vbnet/
http://www.mentalis.org/agnet/apiguide.shtml - http://www.mztools.com/

Merci de poster les réponses au groupe afin d'en faire profiter à tous
Avatar
Eric
Bonjour Cedric

Le driver ODBC est celui fourni par le distributeur de
logiciel de gestion : SAGE.
il n'y a aucune doc sur les procédures à tenir pour se
connecter à la base SQL SAGE via VB alors je fais des
tests. Moi non plus je n'ai jamais rencontré ce problème
et si j'utilise l'EXE correspondant à mon source, aucun
problème. je quitte l'applic, je la relance et la
connection se fait bien. donc c'est le plus important mais
j'aimerai comprendre pourquoi il y a un blocage sur le
cn.open.

Merci et Bonne fête.
Eric


-----Message d'origine-----
cn.close et mettre l'objet à nothing sont suffisant.


Votre problème est
bizarre. Cela se produit-il avec tous les drivers odbc ou


seulement avec 1 ?

C'est le driver Microsoft que vous utilisez ?

Je n'ai jamais eu ce genre de problème. Vous avez le m^me


problème si vous
utilisez un vbscript ?

Cédric

"Eric" wrote in


message
news:06e201c3c943$09737820$
bonjour à tous.

j'utilise ADO via ODBC pour me connecter à une base SQL.
via ODBC car pour des questions d'integrité, je dois
passer par ODBC et non en natif sur SQL.

Question : y a t'il d'autres propriétés pour fermer la
connection que :
cnxODBC.close
Set cnxODBC = Nothing

mon problème, l'application lancait avec VB se bloque
sur cnxODBC.open lorsque je relance l'applic via F5 dans
VB alors que si je quitte VB et que je relance l'applic,
tout fonctionne normalement.
On dirait que la connexion n'est pas correctement fermée.


.