Hallo zusammen,
ich habe folgendes beobachtet und bin mir nicht sicher ob das so sein sollte...
ich hab eine connectionpool der anbindungen an die DB zur verfügung stellt.
wenn ich nun bei einer vorhandenen verbindung autoconnect ausschalte und danach eine Select anweisung ausführe kommt sofern ich danach einen commit auf dieser connection mache
die fehlermeldung das ein commit nicht möglich ist solange autocommit true ist.
Beispiel :
Mir ist klar das es sich dabei nur um eine lesende Anfrage handelt und keine Daten geschrieben werde womit die Transaktion nicht nötig ist aber warum diese Fehlermeldung
java.sql.SQLExeption : Can't call commit when autocommit=true
...
ich habe folgendes beobachtet und bin mir nicht sicher ob das so sein sollte...
ich hab eine connectionpool der anbindungen an die DB zur verfügung stellt.
wenn ich nun bei einer vorhandenen verbindung autoconnect ausschalte und danach eine Select anweisung ausführe kommt sofern ich danach einen commit auf dieser connection mache
die fehlermeldung das ein commit nicht möglich ist solange autocommit true ist.
Beispiel :
Java:
//Connection holen
Connection con = ConnectionPool.getConnection();
con.setAutoCommit(false);
System.out.println("Autocommit : " + con.getAutoCommit()); // ergebnis ist false
ResultSet rsUserName = executeQuery(con, "Select ......");
System.out.println("Autocommit : " + con.getAutoCommit()); // ergebnis ist false
//commiten
con.commit(); // HIER TRITT DER FEHLER AUF
//zurücksetzen
con.setAutoCommit(true);
//freigeben
ConnectionPool.freeConnection(con);
Mir ist klar das es sich dabei nur um eine lesende Anfrage handelt und keine Daten geschrieben werde womit die Transaktion nicht nötig ist aber warum diese Fehlermeldung
java.sql.SQLExeption : Can't call commit when autocommit=true
...