Gestion d'erreur sur une connexion DB2

cs_itokia Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 20 juin 2012 - 20 juin 2012 à 10:43
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 - 20 juin 2012 à 14:04
Bonjour,

Je souhaiterai utiliser une gestion d'erreur qui me permettre de me reconnecter à une base de donnée si il y a déconnexion.

Est-ce possible sous VB6?

J'ai crée une fonction qui me permet de vérifier si la connexion est active si pas, elle appel la fonction de connexion.

Public Function VerifConnexion(ByRef cnx As adodb.Connection, serveur As String)
    'Si la connexion n'est plus active on se reconnecte
    If cnx.State <> adStateOpen Then
        Call connexion2(cnx, serveur)
    End If
End Function


Comment appelé cette fonction en cas d'erreur et de reprendre mon traitement la ou il en était, dans un While.

Encore merci pour votre aide.

4 réponses

LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
20 juin 2012 à 11:29
Bonjour,

Déjà ta function VerifConnexion est incomplète.
Elle doit renvoyer le status de la connexion.

Public Function VerifConnexion(ByRef cnx As adodb.Connection, serveur As String) As Byte
    'Si la connexion n'est plus active on se reconnecte
    If cnx.State <> adStateOpen Then
        Call connexion2(cnx, serveur)
    End If
    VerifConnexion=cnx.State
End Function


Après tu pourras appeler cette function en testant sur la valeur renvoyée.

Do
   xStatus =VerifConnexion(cnx, serveur)
Until xStatus=1






[] Ce qui va sans dire. va mieux en le disant.
0
cs_itokia Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 13:31
Salut Libre_Max,

Je te remercie de ta remarque, je vais faire la modif.

Sinon concernant ma question sur le On error, sais tu si c'est faisable?
0
cs_itokia Messages postés 7 Date d'inscription mardi 3 juin 2008 Statut Membre Dernière intervention 20 juin 2012
20 juin 2012 à 13:46
Je viens de vérifier Max, mais je n'ai pas besoin de faire ta modif. Dans la fonction connexion2 j'ai :

    While (cnx.State = adStateConnecting)
        DoEvents
    Wend


Donc a moins que je me trompe cela risque de faire doublons.
0
LIBRE_MAX Messages postés 1402 Date d'inscription mardi 1 mai 2007 Statut Membre Dernière intervention 7 octobre 2012 6
20 juin 2012 à 14:04
"J'ai crée une fonction qui me permet de vérifier si la connexion est active si pas, elle appel la fonction de connexion."


Moi, au départ, je croyais que dans ta fonction "connexion2", il y' avait un traitement qui tente d' établir la connexion.Et effectivement, si ce traitement consiste à vérifier l' état de la connexion, ça risque de faire doublon.

Appeler une fonction qui vérifie l' état dans une fonction qui vérifie l'état, c' était pas très "lumineux" !.

[] Ce qui va sans dire. va mieux en le disant.
0
Rejoignez-nous