FORUM Aideonline
  Aide Logiciels - Aide Générale
  Réseaux

  [RESOLU]VB + Base SQL : Code de Connexion

 

LE VENT, 1 utilisateur anonyme et 19 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[RESOLU]VB + Base SQL : Code de Connexion

n°2356
ghost_shar​ks
Posté le 23-03-2010 à 19:14:55  profilanswer
 

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 :
  1. 'Déclaration de la variable de connexion
  2. Dim cnx As ADODB.Connection
  3. Dim rst As ADODB.Recordset
  4. Dim result
  5. 'Intanciation des variables
  6. Set cnx = New ADODB.Connection
  7. Set rst = New ADODB.Recordset
  8. 'Définition de la chaine de connexion
  9. cnx.ConnectionString = "UID=" & "Utilisateur" & ";PWD=" & "Mot de passe" & ";" & "DRIVER={SQL Server};Server=" & "Nom Serveur" _
  10.                                  & ";Database=" & "Nom Base" & ";"
  11. If cnx.State = adStateOpen Then
  12.     cnx.Close
  13. End If
  14. On Error GoTo BadConnection
  15.                      
  16. 'Ouverture de la base de données
  17. cnx.Open
  18. 'Exécution de la requête
  19. rst.Open "SELECT ID_Four, Nom_Four FROM Four", cnx
  20. rst.MoveFirst
  21. While Not (rst.EOF)
  22.     MsgBox (rst("ID_Four" ) & " - " & rst("Nom_Four" ))
  23.     rst.MoveNext
  24. Wend
  25. 'Nettoyage et fermeture de la communication
  26. rst.Close
  27. cnx.Close
  28. Set cnx = Nothing
  29. Set rst = Nothing
  30. GoTo EndEnd
  31. BadConnection:
  32. If cnx.Errors.Count > 0 Then
  33.     'Affichage des erreurs
  34.     MsgBox cnx.Errors.Item(0)
  35.     'InitConnection = False
  36. Else
  37.     MsgBox Err.Description
  38. End If
  39. EndEnd:
  40. 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
n°2374
zacker
Profil : Bidouilleur
Posté le 25-03-2010 à 09:53:57  profilanswer
 

hello
je crois qu'il continu d'effectuer ton code il effectue ligne par ligne et ne se soucis pas de ton "on error goto"
tiens un peu d'infos : http://forum.topflood.com/hebergem [...] -5163.html


---------------
}~zacker~{
n°2375
ghost_shar​ks
Posté le 25-03-2010 à 10:09:49  profilanswer
 

Merci de ton aide,
Pour information, il faut rajouter la commande:

Code :
  1. cnx.ConnectionTimeOut = 2


Le "2" represente 2 seconde. Comme cela au bout de 2 seconde, si la connection n'a pas été faite, on va à l'éttiquette BadConnection, sinon le temps du Timeout est 30s par défauts.


Message édité par ghost_sharks le 25-03-2010 à 10:10:12

---------------
Making a better World, Shoot by Shoot
mood
Google
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM Aideonline
  Aide Logiciels - Aide Générale
  Réseaux

  [RESOLU]VB + Base SQL : Code de Connexion

 

Copyright © 2009 - Groupe LDLC.com - Vente Matériel Informatique