# Access-Transaktion über jdbc:odbc



## Vatar (29. Sep 2004)

Moin Moin.

Mein Programm benutz eine Access-Datenbank zum speichern und aus Sicherheitsgründen (Datensatz verschwunden wegen groben Fehler) möchte ich bei einigen Befehlen eine Transaktion nutzen.
In der Hilfe zu Access steht, man könne eine Transaktion über 

```
BEGIN TRANSAKTION
COMMIT
ROLLBACK
```
realisieren.

Wenn ich jetzt einen solchen Befehl absetze kommt aber die Meldung "INSERT, SELECT, DELETE, .. erwartet ...."

Gibt es eine Möglichkeit mit java eine Transaktion zu starten (bei ordentlichen Datenbanken ja kein Problem)?

Thx


----------



## Guest (29. Sep 2004)

Noch nie mit Access versucht aber teste mal das hier

connection.setAutoCommit(false);
...
connection.commit() oder connection.rollback()


----------



## Vatar (29. Sep 2004)

Danke (man sollte nicht nur im Statement nach Methoden suchen   )

Aber jetzt kommt die Meldung "Attribute können jetuz nicht gesetzt werden" ??

```
String sql = "UPDATE ....."

db.setAutoCommit(false);
db.updateDatabase(sql);
db.commit();
db.setAutoCommit(true);
```


----------



## Guest (29. Sep 2004)

Setze autocommit auf false bevor Du das erste mal auf das Connection-Objekt zugreifst.
Das Zurücksetzen auf true ist überflüssig, wenn Du die Verbindung wieder schliesst.


----------



## Vatar (29. Sep 2004)

Danke

Zusatz: Man darf dann nicht vergessen, vor dem beenden der Verbindung das AutoCommit wieder auf true zu setzen, da Access sonst etwas von einem ungültigen Transaktionsstatus faselt.


----------

