![]() |
Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS
-502: Declared cursor already exists
Ich bekomme neuerdings bei manchen Abfragen in nicht nachvollziehbarem Zyklus die Fehlermeldung "-502: Declared cursor already exists".
Ich habe eine permanent offene TZConnection und mehrere damit verbundene DataSets (TZQuery, TZTable usw.). Wenn ich ein neues Query absetze und ZEOS praktisch ein SELECT auf Firebird ausführt, erhalte ich manchmal diese Meldung. Woher kommt das und wie stellt man das ab? |
Re: -502: Declared cursor already exists
Könnte daran liegen, das es pro Connection genau eine Transaktion gibt.
|
Re: -502: Declared cursor already exists
Na sowas. Ich arbeite schon so lange mit ZEOS aber das Problem hatte ich bisher nicht. Kann man da irgendwas konfigurieren oder muß ich für jede ZTable, ZQuery usw. eine eigene ZConnection instantiieren und kann man überhaupt mehrere ZConnections gleichzeitig mit dem Embedded Server verbinden?
|
Re: -502: Declared cursor already exists
Zitat:
|
Re: -502: Declared cursor already exists
Ist ja prickelnd. Und nun?
|
Re: -502: Declared cursor already exists
Am besten ne andere Zugriffsbibliothek verwenden.
|
Re: -502: Declared cursor already exists
Keine Chance, dafür ist das Projekt schon zu weit fortgeschritten. Außerdem denke ich liegt das Problem in meinem Code (denn früher gabs besagte Fehlermeldung nicht obwohl es die ganze Zeit mehrere Queries an einer Connection gab). Mehrere parallele Abfragen sollten doch für einen SQL-Server kein Problem sein.
|
Re: -502: Declared cursor already exists
Hallo,
packe deine Queries in ZConnection.StartTransaction / Commit, so dass sie immer unter einer einzigen Transaktion laufen. Hast du multithreading oder mdi ? Dann bleibt dir nur der Weg über mehrere ZConnections. Zeos war als Ersatz der Bde gedacht (afaik) Mehr als ein Transaktion pro Connection geht nicht. #Edit:# es sieht so aus (google), als ob das ein Bug ein Zeos ist Heiko |
Re: -502: Declared cursor already exists
Nein ich habe nur eine Single-Threading-Anwendung (von den Indy-Threads mal abgesehen). Ich hatte auch nach dem Problem gegoogled aber nur spanische und polnische Forenposts gefunden.
Das mit den ZTransaktions, kannst du mir das mal genauer erklären bzw. gibts im Web ne gute Erklärung? |
Re: -502: Declared cursor already exists
Hallo,
mein Fehler, bei ZEOS ist es ja wie bei der Bde, die Transaktion und die ZConnection sind gekoppelt:
Delphi-Quellcode:
Heiko
ZConnection.StartTransaktion;
try Query_1.bla Query_2.bla finally ZConnection.Commit; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:34 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