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...
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.
@ Lachtaube: einsame Spitze :)