![]() |
Datenbank: SQL Server Express • Version: 2005 • Zugriff über: TADOConnection
TimeOut Zeit bei TADOConnection wird nicht eingehalten?!
Hallo,
ich habe folgendes Phänomen, aber keine Erklärung dafür. Ich stelle per ADOConnection (über SQL NATIVE CLIENT) eine Verbindung zum SQL Server 2005 Express her. Mit folgendem Quellcode:
Delphi-Quellcode:
Über die TimeOut-Zeit kann ich ja meiner Connection sagen wann sie spätestens aufhören soll zu versuchen mit der DB sich zu verbinden. Auf meinem Entwicklungsrechner klappt das auch, die Zeit wird eingehalten....
FServerName:=ServerName;
FDateiPFad:=DateiPfad; conn_string:='Provider=SQLNCLI.1;Server='+FServerName+';Integrated Security=SSPI;' +'Persist Security Info=False;Initial Catalog=cab'; FDB_Connection:=TADOConnection.Create(nil); FDB_Connection.LoginPrompt:=False; FDB_Connection.ConnectionTimeout:=10; // Timeoutzeit FDB_Connection.ConnectionString:=conn_string; try try FDB_Connection.Open; finally if not(FDB_Connection.Connected) then begin MessageDlg('Fehler beim Herstellen der Datenbankverbindung',mtError,[mbOK],0); end; end; except on E: Exception do begin MessageDlg(E.Message,mtError,[mbOK],0); end; end; end; Auf dem Laptop (frisch aufgesetzt mit WINXP) werden aus den 10 Sekunden über 60 Sekunden und meine Anwendung hängt natürlich eine Minute... Dann kommt es wie gewollt zur Exception... (aber halt viiiiel zu spät) :?: Vielleicht habt ihr ja eine Ahnung... Danke Gruß DelphiManiac |
Re: TimeOut Zeit bei TADOConnection wird nicht eingehalten?!
*push* :cat:
|
Re: TimeOut Zeit bei TADOConnection wird nicht eingehalten?!
Ich würd mal sagen, das nichtbeachten des Timeouts liegt nicht in deiner Hand.
Man könnte MDAC letzte Version (2.8 SP1 ?) installieren und man in der Registry suchen (Key: SPTimeout) siehe auch: ![]() Deine Exceptionhandling ist übrigens ziemlich schlecht (um nicht zu sagen ganz falsch):
Delphi-Quellcode:
;
try
FDB_Connection.Open; except on E: Exception do begin // erstmal ein ganz saubere, informative Meldung erzeugen E.Message := 'Fehler beim Herstellen der Datenbankverbindung. Server: '+FServerName +#13#10+ E.Message; // und nicht vergessen den eigentlichen Grund anzuhängen // und dann der Exception sein Lauf lassen Raise; end; end; end |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:35 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz