Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Query-Timeout bei Programmstart (https://www.delphipraxis.net/151077-query-timeout-bei-programmstart.html)

texmurphy901 5. Mai 2010 07:21

Datenbank: MSSQL 2005 • Zugriff über: ADOQuery

Query-Timeout bei Programmstart
 
Hallo allerseits,

ich habe da ein Phänomen, von dem ich nicht weiss, wo das herkommt.
Und zwar ist meine Beobachtung, dass, wenn ich ein beliebiges Form einer Anwendung öffne, welches im FormShow mittels ADOQuery einige Daten liest und ausgibt (z.B. Anzeige heutiger Termine), so kriege ich beim ersten öffnen der Form IMMER ein Timeout, egal wie lang ich das Timeout einstelle (bei 3min habe ich aufgehört zu testen). Schließe ich die Form und öffne sie erneut, erscheint das Ergebnis sofort, obwohl die Query wieder ausgeführt worden ist.
Die Query wird übrigens mittels OPEN geöffnet.
Die Query selbst ist ein simples SELECT welches bei Ausführung im SQL managament Studio eine Ausführungszeit im Millisekundenbereich hat, also kann es an der Query eigentlich nicht liegen.
Meine Vermutung ist, dass beim ersten Start meiner Anwendung der SQL-Server erst die Verbindung initialisieren muss, aber wieso dauert das so lange?


Hat irgendjemand dieselbsen Erfahrungen gemacht?

Grüße
Murphy

mkinzler 5. Mai 2010 07:33

Re: Query-Timeout bei Programmstart
 
Wie/wo/wann wird den die Connection zur Datenbank gemacht?

texmurphy901 5. Mai 2010 07:44

Re: Query-Timeout bei Programmstart
 
Die Connection wird beim öffnen der Form aufgebaut.

stifflersmom 5. Mai 2010 07:51

Re: Query-Timeout bei Programmstart
 
Wenn es der MS-SQL Server ist,
kommt es gerne vor, dass der "frisch" nach seinem Start der
Datenbank diese erst in den Arbeitsspeicher entpacken muss.
Das kann je nach größe der Datenbank 'ne ganze Zeit dauern,
und dann kommt es schon mal zu Timeouts.
Danach läuft er dann pfeilschnell (mehr oder weniger).

Moin

hoika 5. Mai 2010 07:58

Re: Query-Timeout bei Programmstart
 
Hallo,

setze doch mal auf Conn.Connect(?) und Query.Open Breakpoints.
Dann siehst du, wo er hängt.

In der IDE solltest du das Connected auf False lassen.

Was passiert, wenn das das ganze Query.Open mal weglässt,
also nur das Connect machst.


Heiko

texmurphy901 5. Mai 2010 09:18

Re: Query-Timeout bei Programmstart
 
Also es ist so, dass ich direkt beim Programmstart einige Einstellungen für das programm bereits aus der Datenbank hole. Somit sind die Queries beim Öffnen der Forms nicht die ersten Verbindungen zur Datenbank.
Das mit den Breakpoints werde ich mal versuchen.

Danke vorerst einmal.

Murphy

hoika 5. Mai 2010 09:42

Re: Query-Timeout bei Programmstart
 
Hallo,

Zitat:

dass ich direkt beim Programmstart einige Einstellungen für das programm bereits aus der Datenbank hole
Wie denn, ohne eine Query ?


Heiko


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:58 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz