Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyzer (https://www.delphipraxis.net/120023-timeout-mit-ado-abfrage-aber-nicht-im-sql-query-analyzer.html)

PASST 4. Sep 2008 15:09

Datenbank: MS SQL Server • Version: 2000 • Zugriff über: ADO

Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyzer
 
Hallo allerseits,

ich erstelle in Delphi eine Abfrage, die per ADO auf einen MSSQL Server 2000 zugreift und dabei mittels OPENROWSET aus externen dBase-Dateien abfragt.

Die Abfrage erzeugt in Delphi ein Timeout, obwohl "ADOConnection1.CommandTimeout := 600;" auf 10 Minuten gesetzt ist. Das Timeout tritt auch bereits vor dem Ablauf von 10 Minuten auf.

Wenn ich die Abfrage, die Delphi mir ausspuckt in den MS SQL Query Analyzer eingebe, erhalte ich nach nicht einmal 1min. ein Resultat.

Wie kriege ich das Problem gelöst?

Gruß
Peter

Bernhard Geyer 4. Sep 2008 15:23

Re: Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyze
 
Setze doch mal TADOQuery/TADODataset.CommandTimeout hoch.

PASST 5. Sep 2008 07:24

Re: Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyze
 
Den Wert habe ich schon von 180 auf 600 hochgesetzt, obwohl es vorher mit 180 perfekt funktioniert hat.

Woran kann es denn liegen, dass die Abfrage in Delphi so rumzickt, während der Query Analyzer problemlos arbeitet?

Bernhard Geyer 5. Sep 2008 07:26

Re: Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyze
 
Schau doch mal im SQL Server Profiler nach was bei beiden SQL-Technisch an der DB ankommt.

PASST 5. Sep 2008 07:56

Re: Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyze
 
Ich habe noch nicht mit dem SQL Profiler gearbeitet. Kannst du mir sagen, worauf ich dort am besten achten soll?

Bernhard Geyer 5. Sep 2008 07:59

Re: Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyze
 
Zitat:

Zitat von PASST
Ich habe noch nicht mit dem SQL Profiler gearbeitet. Kannst du mir sagen, worauf ich dort am besten achten soll?

Auf Zeitangaben wie lange denn die Abfrage gedauert hat.

NormanNG 5. Sep 2008 07:59

Re: Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyze
 
Hi,


Zitat:

Zitat von PASST
Das Timeout tritt auch bereits vor dem Ablauf von 10 Minuten auf.

Wie lange läuft denn die Abfrage, bevor das Timeout kommt?
Noch innerhalb der Minute des Query Analyzers oder (weit) darüber?
Evtl. wirkt sich das Setzen des Timeouts garnicht aus :gruebel:

PASST 5. Sep 2008 08:23

Re: Timeout mit ADO-Abfrage, aber nicht im SQL Query Analyze
 
Das Problem ist gelöst.

Im SQL Profiler konnte ich erkennen, dass die Abfrage tatsächlich keine Minute dauert. Durch NormanNGs Hinweis habe ich mal nachgeschaut ob CommandTimeout beim ADOQuery gesetzt ist. Tatsächlich stand dort '30'. Nachdem ich diesen Wert geändert hatte, funktioniert die Abfrage dann auch ohne Timeout.

Danke an alle für die Hilfe :)

Gruß
Peter


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:47 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