Public Function OpenDataBaseServer() As Boolean Dim Msg As String 10 On Error GoTo OpenDataBaseServer_error 20 Call CloseDataBaseServer 30 ConnServeur.ConnectionString = "provider=sqloledb.1;user id = ***;password=***;data source=***;initial catalog = ****" 40 ConnServeur.CommandTimeout = 30 50 ConnServeur.Open 60 Exit Function OpenDataBaseServer_error: 70 If ConnServeur.State <> 1 Then ' Information erreur tentative de connection 80 Msg = "Tentatives de connection à la base en reseau !" & vbCrLf & "Veuillez vérifier la présence de votre serveur" 90 MsgBox Msg, vbCritical Or vbOKOnly, "ECHEC Connection Base Reseau" 100 exit sub 110 End If 120 MsgBox ("gestion erreur autre que la connection") End Function
Option Explicit Public SqlRes As String Public Etat_ConnectionServer As Boolean Public SconnectServer As String Public oconnection As New ADODB.Connection Public orecordset As New ADODB.Recordset Public Function OpenDataBaseServer() As Boolean Dim Tentative As Integer Dim Msg As String Tentative = 0 Do While Not (Etat_ConnectionServer) Tentative = Tentative + 1 Call CloseDataBaseServer oconnection.ConnectionString = "provider=sqloledb.1;user id = ***;password=***;data source=*****;initial catalog = ****" 'j'ouvre la connection a la source oconnection.CommandTimeout = 30 oconnection.Open ' c'est à partir d'ici que ca plante 'Erreur -2147467259 ([DBNETLIB][ConnectionOpen (Connect()).]Ce serveur SQL n'existe pas ou son accès est refusé.) ' traitement de l'erreur si pas de connection, OpenDataBaseServer (Err.Number 0) Etat_ConnectionServer = OpenDataBaseServer If Err.Number Then Err.Clear If Tentative = 2 Then Exit Do Loop If Not Etat_ConnectionServer Then Msg = "Il y a eu 2 tentatives de connection reseau !" MsgBox Msg, vbCritical Or vbOKOnly, "ECHEC Connection" End If Exit Function Public Sub CloseDataBaseServer() orecordset.Cancel Set orecordset = Nothing oconnection.Cancel Set oconnection = Nothing Exit Sub End Sub Public Function Execute_SqlRes() As Boolean Call OpenDataBaseServer orecordset.Cancel orecordset.CursorLocation = adUseClient orecordset.Open SqlRes, oconnection, adOpenDynamic, adLockOptimistic ' Gestion de l'erreur Execute_SqlRes (Err.Number 0) If Err.Number Then 'message d'erreur Err.Clear End If Exit Function End Function
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre questionsconnectServer== "provider=sqloledb.1;user id = ***;password=***;data source=*****;initial catalog = ****" public sconnectServer as string SQL = "Ma requete" Set oconnection = New ADODB.Connection Set orecordset = New ADODB.Recordset oconnection.Open sconnectServer oconnection.CommandTimeout = 0 orecordset.Open SQL, oconnection, adOpenStatic, adLockOptimistic 'je recupere les resultats de ma requete s'il y en a orecordset.Close Set orecordset = Nothing oconnection.Close Set oconnection = Nothing