![]() |
Datenbank: MSSQL • Version: 2008 • Zugriff über: ADO
Verbindung zur Datenbank überprüfen
Hallo
Gibt es eine möglichkeit den Zustand der ADO Connection zu prüfen ja ich weiss es kommt sicherlich sowas wie state aber das hab ich schon probiert. Das Problem is wenn ich eine Verbindung aufbaue und die Funktioniert auch.. dann ist das State gesetzt und wird wenn sich die datenbank von sich selbst verabschiedet nicht zurückgesetzt. D.h. ich hab immer ein State das True is. Ein andauerndes .open der Datenbank will ich nicht machen denn das kostet nur prozessleistung. Gibt es da eine andere Methode? |
AW: Verbindung zur Datenbank überprüfen
wenn du mit query's arbeitest hast Du das Problem nicht;
Delphi-Quellcode:
GrußMyquery.Sql.Text:='select alles from mytable'; Myquery.Open; if not(Myquery.Eof) then .... .... MyQuery.Close; K-H |
AW: Verbindung zur Datenbank überprüfen
Hallo...
Zitat:
Ob das jetzt so sinnvoll ist wage ich zu bezweifeln...aber ich lasse mich gern belehren 8-) |
AW: Verbindung zur Datenbank überprüfen
Zitat:
Man kann dazu z.B. folgende Abfragen verwenden:
SQL-Code:
Nachtrag:
SELECT @@version
-- oder SELECT 1 Der SQL Server bzw. die Treiberschicht auf den Clients ist ziemlich zickig wenn es zu einer Verbindungsunterbrechung kommt. Wenn z.B. der Client in den Sleep-Modus geht ist die Connection unterbrochen. Oder wenn ein DNS-Server nicht rechtzeitig antwortet; dito. Der Treiber ist leider zu doof um die Connection im Hintergrund neu aufzubauen. Normalerweise kann dann die Anwendung auch nicht mehr gerettet werden. Man müsste die Connection schliesen und erneut öffnen. Dabei werden aber auch alle Queries und Tabellen die zu dem Zeitpunkt offen waren geschlossen. |
AW: Verbindung zur Datenbank überprüfen
Alternativ kann man z.B. auch UniDAC einsetzen.
Da gibt es eine integrierte Fehlbehandlung bei Verbindungsabbrüchen, die man auch beeinflussen kann. Problematisch ist und bleibt bei einem Verbindungsabbruch immer, dass die originale Session auf dem Server futsch ist, und damit alles was an selbiger hängt. Locks, Session-Variablen, etc. |
AW: Verbindung zur Datenbank überprüfen
Zitat:
Tabellen in Grids etc. werden weiterhin angezeigt, wenn ein ClientDataSet dahintersteht. |
AW: Verbindung zur Datenbank überprüfen
Wenn man die DataSets alle in ClientDataSets packt dann kann man auch bei der ADOConnection KeepConnection auf False setzen und die Verbindung zur DB wird automatisch geschlossen, wenn kein Zugriff mehr erfolgt.
Der Aufbau erfolgt natürlich auch automatisch. |
AW: Verbindung zur Datenbank überprüfen
###Edit: Danke, Hat sich schon erledigt. Ich versuch jetzt jedesmal eine Verbindung zu erstellen und hab mich da bissal mit den Timeout zeiten von den ADOConnections gespielt.
Danke trotzdem |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:17 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-2025 by Thomas Breitkreuz