Transaction für Oracle-DB

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
dzu
User
Beiträge: 5
Registriert: Freitag 11. Oktober 2002, 11:49

Hi,
gibt es in Python Befehle zum Eröffnen und Beenden einer Transaktion?

Zur Zeit arbeite ich nur nach diesem Schema:
DB-Connect herstellen
try-Block mit DB-Anweisungen und commit
except-Blcok mit Fehlermeldung und rollback
DB-Connect schließen
CU dzu
nicogrubert
User
Beiträge: 6
Registriert: Dienstag 26. November 2002, 22:15
Wohnort: Zürich

ist das commit() nicht sowas, das der DB mitteilt, dass nun 1 transaktion abgeschlossen sei ?
dzu
User
Beiträge: 5
Registriert: Freitag 11. Oktober 2002, 11:49

Soweit ich es jetzt mitbekommen habe, wird die Transaktion bei Python automatisch eingeleitet und beendet. Bei meinem Beispiel

dbh = ocidb.ocidb(connectstring)
cu = dbh.cursor()
try:
cu.execute(stmt)
...
cu.execute('commit')
except:
...
cu.execute('rollback')

bin ich nur nicht sicher, ob das bei cu = dbh.cursor oder mit cu.execute(stmt) erfolgt. Beendet wird die Transaktion, wie du schon meintest, mit execute('commit') bzw. ('rollback').

Ich hab mich nur gewundert, weil bei anderen Sprachen direkt begin.transaction oder ähnlich angegeben werden muß/sollte, bevor man ein execute machen kann.
CU dzu
Antworten