Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Datenbanken (https://www.delphipraxis.net/15-datenbanken/)
-   -   Delphi Komponente ZEOS (https://www.delphipraxis.net/47735-komponente-zeos.html)

sweiner 15. Jun 2005 14:52

Datenbank: MSSQL • Version: 2000 • Zugriff über: über die zeos Komponente

Komponente ZEOS
 
Hallo,

kann mir jemand sagen, was man mit der Fehlermeldung
"Die vorbereitete Anweisung mit dem Handle -1 konnte nicht gefunden werden" anfangen kann und wie man es beheben kann.
Verwende zeos 6.1.5 Version. Problematisch für mich ist die Tatsache, dass die definierte SQL Anweisung 10x mal funktioniert und 1x mit der "dämlichen" Fehlermeldung abbricht.
Danke für die Hilfe

Stevie 15. Jun 2005 15:53

Re: Komponente ZEOS
 
Hallo sweiner,

die Fehlermeldung ist eindeutig von deinem MSSQL-Server.

Es wäre äußerst hilfreich, wenn du erläutern könntest, was
für eine SQL-Anweisung du ausführst und in welchem Kontext.

MfG
Stevie

sweiner 15. Jun 2005 16:06

Re: Komponente ZEOS
 
Hallo,

dies ist meine simple SQL Anweisung

Delphi-Quellcode:
sql.clear;
sql.add('select * from temp_plansave where ');
if idb=1 then
  sql.add(' tbplandatumvon >= '''+formatdatetime('yyyy-mm-dd',DPlangesichertVon.Datevalue)+''' ')
else sql.add(' tbplandatumvon >= '''+formatdatetime('dd.mm.yyyy',DPlangesichertVon.Datevalue)+''' ');
sql.add(' and tbplangeprueft=3   order by tbplanbez');
execsql;
usw...

Zugreifen tue ich mittels ADO Protokoll, als TransactIsolationLevel habe ich tiRepeatapleRead eingestellt.
Ja und wie gesagt, es funktioniert 10x hervorragend und 1x ( warum auch immer ) halt nicht. Ich konnte bisher auch nicht nachvollziehen, warum dies so ist. Die Umgebung ist jedenfalls stets die gleiche.

[edit=alcaeus]Delphi-Tags eingefuegt. In Zukunft bitte selbst machen. Danke :D Mfg, alcaeus[/edit]

Stevie 15. Jun 2005 16:37

Re: Komponente ZEOS
 
Was mir auffällt:
- Du führst eine Select-Anweisung mit ExecSQL aus?? Welchen Zweck hat das?
- Du verwendest die Version 6.1.5. -> Version 6.5.1 alpha oder aktuelle cvs-version testen
- Du benutzt ADO um auf MSSQL zuzugreifen, obwohl zeos mssql direkt unterstützt!

Leider kenn ich mich mit MSSQL mal überhaupt nicht aus ... :?

sweiner 16. Jun 2005 07:38

Re: Komponente ZEOS
 
hallo stevie,

Danke für Deine Antwort.
Also eine andere Ausführung der SQL Anweisung als mit ExecSQL kenne ich nicht, ich muß doch irgend wann mal sagen, führe die SQL Anweisung nun aus. Wie soll dies sonst funktionieren?
Zum Thema Zugriff auf MSSQL über ado und nicht über den direkten mssql Treiber... ja wenn ich wüßte wie dies über den Treiber funktioniert, wäre ich froh. Selbst mit dem Testprogramm was zeos liefert, komme ich nicht auf meine SQL DB mittels des mssql Treibers :wall: , einzig mit ado funktioniert es, aber vielleicht hast du ja einen tipp??? :?:

mfg steffen

alcaeus 16. Jun 2005 07:43

Re: Komponente ZEOS
 
Moin sweiner,

Zitat:

Zitat von sweiner
Also eine andere Ausführung der SQL Anweisung als mit ExecSQL kenne ich nicht, ich muß doch irgend wann mal sagen, führe die SQL Anweisung nun aus. Wie soll dies sonst funktionieren?

Mit Open und Close. ExecSQL ist nur fuer SQL-Befehle geeignet, die keine Ergebnismenge zurueckliefern (Insert, Update, Delete). Fuer Selects muss man Open und Close verwenden, damit man waehrend dieser Zeit auf die Ergebnismenge zugreifen kann.

Greetz
alcaeus

Stevie 16. Jun 2005 07:49

Re: Komponente ZEOS
 
Zitat:

Zitat von sweiner
Zum Thema Zugriff auf MSSQL über ado und nicht über den direkten mssql Treiber... ja wenn ich wüßte wie dies über den Treiber funktioniert, wäre ich froh. Selbst mit dem Testprogramm was zeos liefert, komme ich nicht auf meine SQL DB mittels des mssql Treibers :wall: , einzig mit ado funktioniert es, aber vielleicht hast du ja einen tipp??? :?:

Wie gesagt, ich hab keine Ahnung von MSSQL, aber ist es dort nicht so, dass man auch nen Client installiert haben muss oder so etwas?

Bernhard Geyer 16. Jun 2005 07:54

Re: Komponente ZEOS
 
Zitat:

Zitat von Stevie
- Du benutzt ADO um auf MSSQL zuzugreifen, obwohl zeos mssql direkt unterstützt!

AFAIK ist ADO die Programmierschnittstelle für den MS-SQL-Server. Alternative wäre direkt auf den OLE DB-Treiber aufzusetzen bzw. direkt das Netzwerkprotokoll nachzuprogrammieren.

Und ADO ist auf allen neuen Windows-PC's standardmäßig installiert. ADO wird (in älteren Versionen) auch mit IE, Office und weiteren MS-Produkten installiert.


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