Access-o-Mania

Access-Forum (Deutsch/German) => Access Programmierung => Thema gestartet von: datekk am Juli 07, 2017, 00:07:25

Titel: ADO Timeout
Beitrag von: datekk am Juli 07, 2017, 00:07:25
Hi,

meine Access Anwendung soll bei Programmstart prüfen, ob die Datenbank im LAN statt im WAN ausgeführt werden kann. Hierfür habe ich die jeweiligen Connection Strings angepasst. Zuerst wird natürlich auf LAN getestet, ob der SQL Server auf die Verbindung reagiert. Ist dieser nicht erreichbar, dauert die Prüfung / das Timeout rund 20 Sekunden. Das ist mir viel zu lang. Hier mal mein Codeschnipsel zum prüfen der ADODB.Connection:

Function SQLVerbindung() As Boolean
On Error GoTo e

    Set m_Con = New ADODB.Connection
    m_Con.ConnectionTimeout = 5
    m_Con.Open m_SqlVerbZV
    SQLVerbindung = True
   
Exit Function
e:
SQLVerbindung = False
End Function


Ich habe hier den Timeout auf 5 Sekunden festgelegt, dennoch braucht Access ca. 20 Sekunden um festzustellen, dass die Verbindung fehl (False) schlägt. Woran liegt das? Wie kann ich das ändern? Korrekte Verbindungen werden sofort mit True bestätigt...
Titel: Re: ADO Timeout
Beitrag von: Lachtaube am Juli 07, 2017, 03:34:10
How do I make an ADO connection timeout sooner if the server doesnt exist? (https://stackoverflow.com/questions/6961453/how-do-i-make-an-ado-connection-timeout-sooner-if-the-server-doesnt-exist) erklärt das Verhalten und zeigt eine Alternative.
Titel: Re: ADO Timeout
Beitrag von: datekk am Juli 07, 2017, 10:02:23
@ Lachtaube: einsame Spitze :)