Hallo!
ich schreibe zyklisch in eine Sqlite Datenbank mit:
Manchmal bekomme ich bei "con.commit();" den Fehler/Hinweis:
java.sql.SQLException: cannot commit - no transaction is active
Scheinbar wird alles geschrieben, aber ich kann mir nie ganz sicher sein.
Habe den Fehler gegoogelt und daher zuerst alle Statements erzeugt, diese dann danach ausgeführt und am Ende das .commit().
Kann sein das ein anderer Thread in die DB schreibt oder wo ist das Problem?
Danke![/code]
ich schreibe zyklisch in eine Sqlite Datenbank mit:
Java:
try {
con.setAutoCommit(false);
PreparedStatement[] statement = new PreparedStatement[data.size()];
int index = 0;
for (Data dat : data) {
statement[index] = con
.prepareStatement("INSERT INTO Quarter (TIMESTAMP,UID,VALUE,VALUE_MIN,VALUE_MAX) VALUES(?,?,?,?,?)");
statement[index].setLong(1, dat.timeStamp);
statement[index].setString(2, objectUID.toString());
statement[index].setDouble(3, dat.value);
statement[index].setDouble(4, dat.value_min);
statement[index].setDouble(5, dat.value_max);
++index;
}
for (int i = 0; i < data.size(); i++) {
statement[i].executeUpdate();
}
con.commit();
} catch (SQLException e) {
e.printStackTrace();
}
Manchmal bekomme ich bei "con.commit();" den Fehler/Hinweis:
java.sql.SQLException: cannot commit - no transaction is active
Scheinbar wird alles geschrieben, aber ich kann mir nie ganz sicher sein.
Habe den Fehler gegoogelt und daher zuerst alle Statements erzeugt, diese dann danach ausgeführt und am Ende das .commit().
Kann sein das ein anderer Thread in die DB schreibt oder wo ist das Problem?
Danke![/code]