Bonjour a tous,
jai un curieux probleme avec mon appli. Cette appli communique avec une base de donnees SQL Server. Jai un boutton qui permet de creer une connection a mon serveur SQL et ensuite de effectuer une query dans ma base. Voici les 2 routines appellees par ce bouton:

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
 
 
Public Sub ConnectMe(ByVal sDBase As String, _
                     ByVal sServer As String, _
                     ByVal sUserName As String, _
                     ByVal sPWD As String)
 
    On Error GoTo ConnectMe_Err
 
 
   Set vConnection= Nothing
   Set vConnection= New ADODB.Connection
 
 
    vConnection.ConnectionString = "Provider=MSDASQL.1;Password=" & sPWD _
            & ";Persist Security Info=True;User ID=" & sUserName & _
            ";Extended Properties=""Description=cnTagData;DRIVER=SQL Server;SERVER=" _
            & sServer & _
            ";UID=user;PWD=pass;APP=Visual Basic;WSID=appli;DATABASE=" & _
            sDBase & " """
 
    vConnection.Open
 
 
ConnectMe_Err:
 
   msgbox "erreur de connection"
 
End Sub
 
 
Public Function GetData() As ADODB.Recordset
 
    on error goto error
 
    Dim rs As ADODB.Recordset
    Set rs = New ADODB.Recordset
    rs.CursorLocation = adUseClient
 
 
    rs.Open "spGetData", vConnection, adOpenStatic, adLockBatchOptimistic, adCmdStoredProc
    Set GetData= rs.Clone
    rs.Close
 
    Exit Function
 
error:
 
msgbox "probleme de query"
 
End Sub
Si je clique mon boutton une fois (je recois mes donnees..tout est beau jusqu'ici), ferme volontairement mon serveur SQL et reclique mon boutton, ConnectMe ne me donne aucune erreur, (je mattendais a ce que ca foire a vConnection.Open), mais GetData en retourne une ( -2147467259 [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionWrite (WrapperWrite())). Le veritable probleme est lorsque je relance mon serveur et reclique mon boutton. ConnectMe semble ok (aucune erreur) mais GetData en retourne une (2147467259 [Microsoft][ODBC SQL Server Driver]Communication link failure ). Je dois fermer et relancer mon appli pour que ca recommunique correctement, mais jaimerais fixer le tout sans avoir a redemarrer a chaque fois.

Aussi, si je laisse du temps a mon appli (quelques minutes)....la communication semble revenir, mais j'ignore toujours la difference du comportement de mon appli entre attendre ou relancer.

Jassume que je dois faire un "refresh" sur ma connection afin qu'elle se met a jour correctement...(ce qui se passe lors de fermeture/relancement de lappli) mais comment faire cela?


merci a lavance