AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Datenbanken Delphi -502: Declared cursor already exists
Thema durchsuchen
Ansicht
Themen-Optionen

-502: Declared cursor already exists

Ein Thema von Codehunter · begonnen am 7. Feb 2007 · letzter Beitrag vom 8. Feb 2007
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#1

-502: Declared cursor already exists

  Alt 7. Feb 2007, 23:16
Datenbank: Firebird • Version: 1.5 • Zugriff über: ZEOS
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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 07:46
Könnte daran liegen, das es pro Connection genau eine Transaktion gibt.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#3

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 12:17
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?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 12:34
Zitat:
kann man überhaupt mehrere ZConnections gleichzeitig mit dem Embedded Server verbinden?
Nein.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#5

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 15:37
Ist ja prickelnd. Und nun?
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 15:41
Am besten ne andere Zugriffsbibliothek verwenden.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 17:12
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.
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 17:15
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
Heiko
  Mit Zitat antworten Zitat
Benutzerbild von Codehunter
Codehunter

Registriert seit: 3. Jun 2003
Ort: Thüringen
2.272 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 17:26
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?
  Mit Zitat antworten Zitat
hoika

Registriert seit: 5. Jul 2006
Ort: Magdeburg
8.275 Beiträge
 
Delphi 10.4 Sydney
 
#10

Re: -502: Declared cursor already exists

  Alt 8. Feb 2007, 17:31
Hallo,

mein Fehler,
bei ZEOS ist es ja wie bei der Bde,
die Transaktion und die ZConnection sind gekoppelt:

Delphi-Quellcode:
ZConnection.StartTransaktion;
try
  Query_1.bla
  Query_2.bla
finally
  ZConnection.Commit;
end;
Heiko
Heiko
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:30 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