Ergebnis 1 bis 3 von 3

Thema: Transaction JDBC Postgresql 8.X

  1. #1
    seawolf ist offline Neuer Benutzer
    Registriert seit
    18.10.2010
    Beiträge
    3

    Standard Transaction JDBC Postgresql 8.X

    Hi Leute,

    ich habe eine grundsätzliche Frage bezüglich transaction handling mit JDBC und Postgresql 8.x.

    Ab dieser Version wurde "autocomitt.off" deaktiviert (laut release notes). -> also ich bekomme eine Fehlermeldung:

    Dieser COde funktioniert NICHT:

    Hab nun leider keine Alternative gefunden, kann mir wer weiterhelfen ?


    "set TOTAL = TOTAL + ? where COF_NAME = ?";

    try {
    con.setAutoCommit(false);
    updateSales = con.prepareStatement(updateString);
    updateTotal = con.prepareStatement(updateStatement);

    for (Map.Entry<String, Integer> e : salesForWeek.entrySet()) {
    updateSales.setInt(1, e.getValue().intValue());
    updateSales.setString(2, e.getKey());
    updateSales.executeUpdate();

    updateTotal.setInt(1, e.getValue().intValue());
    updateTotal.setString(2, e.getKey());
    updateTotal.executeUpdate();
    con.commit();
    }
    } catch (SQLException e ) {
    JDBCTutorialUtilities.printSQLException(e);
    if (con != null) {
    try {
    System.err.print("Transaction is being rolled back");
    con.rollback();
    } catch(SQLException excep) {
    JDBCTutorialUtilities.printSQLException(excep);
    }
    }
    } finally {
    updateSales.close();
    updateTotal.close();
    con.setAutoCommit(true);
    }

  2. #2
    ads
    ads ist offline Super-Moderator
    Registriert seit
    08.02.2006
    Ort
    MD
    Beiträge
    4.056

    Standard

    Wie wäre es mit einer Fehlermeldung oder einer Beschreibung, was genau nicht funktioniert?
    Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören

    Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

    PostgreSQL Service & Support

  3. #3
    seawolf ist offline Neuer Benutzer
    Registriert seit
    18.10.2010
    Beiträge
    3

    Standard

    Hi
    Sorry ich bin grade nicht auf meinem Rechner, deswegen nur eine allgemein Frage ( habe gehofft dass dies ausreichend ist ). -> Da autocommit ja deaktiviert wurde in postgresql 8.x.

    Habe online diese Fehlermeldung gefunden ( wird dieselbe sein wie bei mir, werd das aber noch verifizieren )-> Vielleicht kann mir wer ja gleich weiterhelfen ?

    stack trace

    java.sql.SQLException: ERROR: SET AUTOCOMMIT TO OFF is no longer supported

    Stack trace:QueryExecutor.java ::
    org.postgresql.core.QueryExecutor.execute() <131>
    AbstractJdbc1Connection.java ::
    org.postgresql.jdbc1.AbstractJdbc1Connection.ExecS QL() <482>
    AbstractJdbc1Connection.java ::
    org.postgresql.jdbc1.AbstractJdbc1Connection.ExecS QL() <461>
    AbstractJdbc1Connection.java ::
    org.postgresql.jdbc1.AbstractJdbc1Connection.setAu toCommit() <957>
    DelegatingConnection.java ::
    org.apache.commons.dbcp.DelegatingConnection.setAu toCommit() <268>
    PoolingDriver.java ::
    org.apache.commons.dbcp. PoolingDriver$PoolGuardConnectionWrapper
    .setAutoComm
    it()
    <353>
    SQLDataSource.java ::
    com.once.server.data.source.sql.SQLDataSource.exec uteInsertCommand() <540>
    DataWrapper.java :: com.once.server.data.DataWrapper.executeQuery() <199>
    ActionSQL.java :: com.once.ActionSQL.doPost() <142>
    HttpServlet.java :: javax.servlet.http.HttpServlet.service() <760>
    HttpServlet.java :: javax.servlet.http.HttpServlet.service() <853>
    ApplicationFilterChain.java ::
    org.apache.catalina.core.ApplicationFilterChain.in ternalDoFilter() <237>
    ApplicationFilterChain.java ::
    org.apache.catalina.core.ApplicationFilterChain.do Filter() <157>
    StandardWrapperValve.java ::
    org.apache.catalina.core.StandardWrapperValve.invo ke() <214>
    StandardValveContext.java ::
    org.apache.catalina.core.StandardValveContext.invo keNext() <104>
    StandardPipeline.java ::
    org.apache.catalina.core.StandardPipeline.invoke() <520>
    StandardContextValve.java ::
    org.apache.catalina.core.StandardContextValve.invo keInternal() <198>
    StandardContextValve.java ::
    org.apache.catalina.core.StandardContextValve.invo ke() <152>
    StandardValveContext.java ::
    org.apache.catalina.core.StandardValveContext.invo keNext() <104>
    StandardPipeline.java ::
    org.apache.catalina.core.StandardPipeline.invoke() <520>
    StandardHostValve.java ::
    org.apache.catalina.core.StandardHostValve.invoke( ) <137>
    StandardValveContext.java ::
    org.apache.catalina.core.StandardValveContext.invo keNext() <104>
    ErrorReportValve.java ::
    org.apache.catalina.valves.ErrorReportValve.invoke () <118>

Ähnliche Themen

  1. postgresql/postgis mit jdbc ansprechen
    Von ballibum im Forum Programmierung
    Antworten: 2
    Letzter Beitrag: 03.01.2011, 10:07
  2. JDBC & DB Transaction für parallele Applikationen
    Von myklynysh im Forum externe Schnittstellen
    Antworten: 7
    Letzter Beitrag: 21.01.2010, 17:27
  3. Problem mit <IDLE> in transaction
    Von InstantCoffee im Forum Allgemeines
    Antworten: 11
    Letzter Beitrag: 12.01.2010, 21:13
  4. Startup für PostgreSQL + JDBC + Eclipse
    Von fristo im Forum Häufig gestellte Fragen (FAQ)
    Antworten: 0
    Letzter Beitrag: 18.10.2007, 04:30
  5. Transaction Timeout
    Von johanna im Forum Programmierung
    Antworten: 1
    Letzter Beitrag: 11.07.2007, 13:01

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

Links: Tobias Bauer - IT- und Funkdienstleistungen   -   Bilderrahmen-kaufen.de - Der Onlineshop für Bilderrahmen & Fotorahmen   -   Funkforum