Schnelle Möglichkeit festzustellen ob eine OleDB Verbindung möglich ist?

28/02/2009 - 23:11 von jens.stolle1970 | Report spam
Hallo,

ich verwende ACC07, habe einige Tabellen im Backend auf nem SQLServer
2005.
Ich würde gerne beim Öffnen eines Formulars prüfen, ob der Server
online ist, falls nciht, möchte ich ein paar Buttons deaktivieren.

Derzeit mache ich das im Onload Event so:

On Error GoTo ErrorHandler

' connection and recordset variables
Dim Cnxn As ADODB.Connection

' Open connection
Set Cnxn = New ADODB.Connection
Cnxn.Open Provider="'sqloledb';Data Source='192.168.0.9';User
ID=user;Password34567;Initial Catalog='wd_timetrack';"

ErrorHandler:
If Not Cnxn Is Nothing Then
If Cnxn.State = adStateOpen Then Cnxn.Close
End If
Set Cnxn = Nothing

If Err <> 0 Then
'MsgBox Err.Source & "-->" & Err.Description, , "Error"
DeaktivateSome
End If

Das funktioniert im Wesentlichen auch, allerdings dauert es ca. 30
Sek. bis er wieder reagiert, wenn der Server mal nicht online ist.
ConnectonTimeout und CommandTimeout zu reduzieren habe ich bereits
erfolglos versucht. Kennt noch jemand eine Möglichkeit, das zu
bewerkstelligen? Idealerweise würde ich gerne nach 1 sek ohne
erfolgrechen Connect bereits wieder arbeiten können.

Danke!
 

Lesen sie die antworten

#1 Mark Doerbandt
01/03/2009 - 11:12 | Warnen spam
Hallo,

:

ich verwende ACC07, habe einige Tabellen im Backend auf nem SQLServer
2005.
Ich würde gerne beim Öffnen eines Formulars prüfen, ob der Server
online ist, falls nciht, möchte ich ein paar Buttons deaktivieren.

Derzeit mache ich das im Onload Event so:

On Error GoTo ErrorHandler

' connection and recordset variables
Dim Cnxn As ADODB.Connection

' Open connection
Set Cnxn = New ADODB.Connection
Cnxn.Open Provider="'sqloledb';Data Source='192.168.0.9';User
ID=user;Password34567;Initial Catalog='wd_timetrack';"

ErrorHandler:
If Not Cnxn Is Nothing Then
If Cnxn.State = adStateOpen Then Cnxn.Close
End If
Set Cnxn = Nothing

If Err <> 0 Then
'MsgBox Err.Source & "-->" & Err.Description, , "Error"
DeaktivateSome
End If

Das funktioniert im Wesentlichen auch, allerdings dauert es ca. 30
Sek. bis er wieder reagiert, wenn der Server mal nicht online ist.
ConnectonTimeout und CommandTimeout zu reduzieren habe ich bereits
erfolglos versucht. Kennt noch jemand eine Möglichkeit, das zu
bewerkstelligen? Idealerweise würde ich gerne nach 1 sek ohne
erfolgrechen Connect bereits wieder arbeiten können.



ist eigentlich eher eine Frage fuer .sqlserver.

Ich glaube, das geht nicht schneller. Der Browser sucht ja nach
Servern und das tut er immer (auch z.B. vom SQL Management Studio aus)
fuer eine bestimmte Zeit. Vielleicht gibt es dafuer eine Einstellung,
ggf. in der Registry, aber wie gesagt: frag mal die Server-Jungs.

Gruss - Mark

Informationen fuer Neulinge in den Access-Newsgroups unter
http://www.doerbandt.de/Access/Newbie.htm

Bitte keine eMails auf Newsgroup-Beitràge senden.

Ähnliche fragen