Function Sequence Error DB2 Client und Java
- Dieses Thema hat 0 Antworten und 1 Teilnehmer, und wurde zuletzt aktualisiert vor 18 Jahre, 1 Monat von
Anonym.
-
AuthorPosts
-
19. August 2005 um 6:32 Uhr #2582
AnonymGastHallo allerseits,
habe derzeit ein Problem mit dem DB2 Client und Java.
Ich lese mittels eines PreparedStatements Daten aus einer Tabelle und füge diese Daten anschließend zusammen mit neuen Werten in diese Tabelle wieder ein.
Dies machte bisher keine Probleme unter Client Version 7 FP 8. Nun bekommen unsere Applicationserver aber Client Version 7.2/7.1 FP3 wie auch mein Entwicklungsrechner.
Auf einmal bekomme ich an den unmöglichsten Stellen einen Fehler: "Ungültige Reihenfolge für Funktion".
Je nach Konstellation der Statements (SELECT und INSERT) entweder beim Schließen des ResultSets oder beim Schließen der Connection. Das ergibt keinen Sinn!
Habe clientseitig schon mal den JDBC und CLI Trace mitlaufen lassen, bin daraus aber auch nicht schlauer geworden.Momentan sieht der Ablauf bei mir so aus (alles mit AutoCommit):
Treiber laden
Verbindung öffnen
SELECT Statement vorbereiten
SELECT Statement ausführen in ResultSet
Ergebnisse zwischenspeichern
ResultSet schließen
SELECT Statement schließen
Verbindung schließenVerbindung mit 2. Variable öffnen
INSERT Statement vorbereiten
Gespeicherte Ergebnisse aus SELECT-Statement in Schleife mit addBatch dem INSERT Statement hinzufügen
ExecuteBatch nach Schleife
INSERT Statement schließen
Verbindung schließenAn dieser Stelle erhalte ich den Fehler.
Wenn ich den AutoCommit ausschalte, bekomme ich die Fehlermeldung beim Commit.
Wenn ich die Ergebnisse aus dem SELECT nicht zwischenspeichere, sondern gleich auf den Batch des INSERT Statements lege, dann das ResultSet schließe, bekomme ich den Fehler dort.Es ist wie verhext. Wenn ich statt eines PreparedStatements für den INSERT ein Ad Hoc Statement mit Batch nehme (dauert aber zu lange) bekomme ich den Fehler dennoch.
Leider kann ich keine andere Client-Version installieren (zumindest momentan), da die Sachen auf Maschinen des Kunden laufen.
Weiss zufällig irgendjemand, was da los ist?
Wenn ich das richtig verstanden habe, wird auf dem DB2-Gateway Version 8 verwendet, die DB2 selbst liegt auf dem Host (Version weiss ich momentan nicht, kann ich aber in Erfahrung bringen).Vielen Dank schon einmal
Ciao
-
AuthorPosts
You must be logged in to reply to this topic.