Bonsoir à tous,
Voila j'utilise VB afin de me connecter à une base SQL. J'arrive bien à me connecter à cette base. Mon soucis est le suivant
Je coupe l'accès à la base SQL. Et à partir de mon code VB, j'aimerai savoir que ma base SQL n'est pas accéssible. Voila donc ma question.
J'ai fait quelques recherches sur la toile, et pour le moment mon code ressemble à ceci:
Code :
- 'Déclaration de la variable de connexion
- Dim cnx As ADODB.Connection
- Dim rst As ADODB.Recordset
- Dim result
- 'Intanciation des variables
- Set cnx = New ADODB.Connection
- Set rst = New ADODB.Recordset
- 'Définition de la chaine de connexion
- cnx.ConnectionString = "UID=" & "Utilisateur" & ";PWD=" & "Mot de passe" & ";" & "DRIVER={SQL Server};Server=" & "Nom Serveur" _
- & ";Database=" & "Nom Base" & ";"
- If cnx.State = adStateOpen Then
- cnx.Close
- End If
- On Error GoTo BadConnection
-
- 'Ouverture de la base de données
- cnx.Open
- 'Exécution de la requête
- rst.Open "SELECT ID_Four, Nom_Four FROM Four", cnx
- rst.MoveFirst
- While Not (rst.EOF)
- MsgBox (rst("ID_Four" ) & " - " & rst("Nom_Four" ))
- rst.MoveNext
- Wend
- 'Nettoyage et fermeture de la communication
- rst.Close
- cnx.Close
- Set cnx = Nothing
- Set rst = Nothing
- GoTo EndEnd
- BadConnection:
- If cnx.Errors.Count > 0 Then
- 'Affichage des erreurs
- MsgBox cnx.Errors.Item(0)
- 'InitConnection = False
- Else
- MsgBox Err.Description
- End If
- EndEnd:
- End Sub
|
Avec ce code et dù à la ligne "On Error GoTo BadConnection" j'arrive bien à détecter que je ne peux pas accéder à la base SQL mais le problème c'est que le système reste bloquer sur cette ligne pendant assez longtemps avant d'aller à l'etiquette :BadConnection. Il t'il possible de paramètrer ce temps ? Si au bout de deux secondes, la base répond pas->passage au goto.
Après peut être que je n'utilise pas le bon type de code. Je ne suis pas du tout un expert en VB.
Merci d'avance de votre aide.
Message édité par ghost_sharks le 25-03-2010 à 19:36:13
---------------
Making a better World, Shoot by Shoot