Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi SQL-Abfragen und Stored-Proc mit oder ohne Prepare? (https://www.delphipraxis.net/58899-sql-abfragen-und-stored-proc-mit-oder-ohne-prepare.html)

HaJo 14. Dez 2005 13:34

Datenbank: Interbase • Version: 6.1 / 7.1 • Zugriff über: IB/BDE

SQL-Abfragen und Stored-Proc mit oder ohne Prepare?
 
Hallo an alle,

ich habe nur zwei kurze Fragen.
Zum einen: Ist es sinnvoll jedes SQL-Statement explizit mit "Prepare" vorzubereiten.
Zum Beispiel so:
Delphi-Quellcode:
   IF NOT QryTmpKunden.Prepared then
      QryTmpKunden.Prepare;
   QryTmpKunden.ExecSQL;

   //oder bei einer Stored Procedure..

   IF NOT DM3.StProcZF.Prepared then
      DM3.StProcZF.Prepare;
   DM3.StProcZF.ExecProc;
Zum anderen:
Wie verfährt man im eigenen Programm, wenn die SQL-Verbindung zum Server gestört ist, z.B. durch einen aus dem Tritt gekommenen Switch? Bei der BDE-Komponente ist nach einer einmal zustande gekommenden Verbindung keine Trennung mehr möglich. Es bleibt dann nur, die Anwendung gewaltsam abzuschiessen.
Dieses Verhalten ist, so glaube ich, nur bei Verwendung von NT2003 und XP-SP2 festzustellen.

Lieben Gruß an alle
Jochen

noidic 14. Dez 2005 13:39

Re: SQL-Abfragen und Stored-Proc mit oder ohne Prepare?
 
Wenn ich mich recht entsinne gibts bei der BDE ein Problem mit prepare, aufgrund dessen man das nicht verwenden sollte.

Prepare macht generell auch nur da Sinn, wo ein und das selbe Statement mit unterschiedlichen Parametern aufgerufen wird, anosnten ist es nur eine schlichte Verlagerung der Zeit von einer Stell zur anderen.


Zur zweiten Frage: Dies ist ein echtes Problem, auf einen Timeout zu warten ist für die meisten Anwendungen nicht praktikabel. Eine mögliche Lösung wäre einen zweiten Thread zu haben, der per Ping o.ä. die Verwfügbarkeit des Servers prüft. Hilft aber auch nciht viel, wenn grad ne Abfrage läuft...

Bernhard Geyer 14. Dez 2005 13:44

Re: SQL-Abfragen und Stored-Proc mit oder ohne Prepare?
 
[quote="HaJo"]Zum einen: Ist es sinnvoll jedes SQL-Statement explizit mit "Prepare" vorzubereiten.[/delphi]
Nur dann wenn das Statement (mit anderen Parametern) mehrfach verwendet wird.

Zitat:

Zitat von HaJo
Bei der BDE-Komponente ist nach einer einmal zustande gekommenden Verbindung keine Trennung mehr möglich. Es bleibt dann nur, die Anwendung gewaltsam abzuschiessen.

Mal wieder ein Grund die BDE abzulößen.

HaJo 14. Dez 2005 14:04

Re: SQL-Abfragen und Stored-Proc mit oder ohne Prepare?
 
Vielen Dank Euch beiden für Eure Antwort - bestätigt meine Erfahrung.

Danke
Jochen


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