Znoob Geschrieben 7. Juli 2003 Geschrieben 7. Juli 2003 Moin zusammen! Könnt ihr mir mal eure Erfahrungen mit eigener Commit-Steuerung bei PreparedStatements in Zusammenhang mit einer Oracle-DB posten? Bei mir will das nicht so recht funktionieren... Mal klappt es, mal nicht.... Schreibe ich in mehrere Tabellen, haben commit oder rollback irgenwie keine Auswirkungen... Zitieren
jan76 Geschrieben 7. Juli 2003 Geschrieben 7. Juli 2003 Hallo, sollte eigentlich kein Problem sein. Bist Du sicher dass Du einen aktuellen JDBC-Treiber benutzt ? Hast Du in Deinem DataSource/ConnectionPool autoCommit="false" ? Poste doch mal ein Stück von Deinem Source.. Zitieren
Znoob Geschrieben 8. Juli 2003 Autor Geschrieben 8. Juli 2003 Der Treiber sollte schon der aktuellste sein, kommt direkt von Oracle9.2 und autocommit ist auf false... Versuche es mal an einem Bsp zu erklären.... Gegeben sind 5 Tabellen, in die ich innerhalb einer Transaktion mit 5 versch. PreparedStatements schreibe.. Nach jeder Transaktion (also dem schreiben in die 5 Tabellen) soll ein commit erfolgen. Schreibe ich nur einmalig in die Tabellen, lässt sich am Ende auch ein rollback erzwingen, versuche ich den Vorgang allerdings beliebig oft und versuche an einer bestimmten Stelle ein rollback, werden die Daten doch in die Tabellen geschrieben..... :( Zitieren
Jaraz Geschrieben 8. Juli 2003 Geschrieben 8. Juli 2003 Du wechselst aber nicht zwischendurch die Connection oder? Gruß Jaraz Zitieren
Znoob Geschrieben 8. Juli 2003 Autor Geschrieben 8. Juli 2003 Die Connection bleibt die ganze Zeit die selbe.... Ich habe eine Connection für SELECTs und eine Connection für UPDATEs.... Habe bislang nur bei der für UPDATEs den AutoCommit deaktiviert, werd den mal bei beiden deaktivieren, glaube aber nicht, ob das ne Auswirkung hat... Mal schaun... Zitieren
ExAzubi Geschrieben 8. Juli 2003 Geschrieben 8. Juli 2003 Hi, du hast in deinem letzten Statement geschrieben : Schreibe ich nur einmalig in die Tabellen, lässt sich am Ende auch ein rollback erzwingen, versuche ich den Vorgang allerdings beliebig oft und versuche an einer bestimmten Stelle ein rollback, werden die Daten doch in die Tabellen geschrieben..... Wenn ich das richtig verstehe, schreibst du deine Daten und setzt dann ein commit ab, oder? Wenn das so ist, dann wird nach meiner Meinung der rollback immer nur bis zum letzten commit funktionieren, wenn ich es falsch verstehe, dann weiß ich leider auch nicht. Zitieren
Znoob Geschrieben 9. Juli 2003 Autor Geschrieben 9. Juli 2003 Also irgendwie funktioniert das alles nicht... Bei beiden Connections hab ich das Autocommit deaktiviert, aber er ignoriert gnadenlos den rollback Aufruf. Eigentlich sollte er, wenn die schreiben-Methode einen Fehler liefert , ein rollback ausführen, ansonsten den commit. Und trotz rollback-Aufruf sind die Daten in der DB. Sehr mysteriös das ganze.... Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.