簡體   English   中英

在JDBC-ODBC橋中使用保存點:UnsupportedOperationException

[英]Using savepoints with the JDBC-ODBC Bridge: UnsupportedOperationException

我已將NetBeans IDE與MS Access連接在一起,並且在進行事務處理時遇到此錯誤。 似乎不支持保存點...請指導我。

             Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
            conn = DriverManager.getConnection("jdbc:odbc:cse");
            Statement stmt1, stmt2, stmt3;
                     System.out.println("Statements created");
            conn.setAutoCommit(false);
            String query1 = " update registration set id='105' " + 
                            "where first = 'Sumit' ";
            String query2 = " update registration set id='106' " + 
                            "where first = 'Zayed' ";
             System.out.println(" Queries created");


            stmt1 = conn.createStatement();
            System.out.println(" Connection created");
            Savepoint s1 = conn.setSavepoint("sp1");
             System.out.println(" Savept created");

            stmt2 = conn.createStatement();

            stmt1.executeUpdate(query1);
            stmt2.executeUpdate(query2);

            conn.commit();

            stmt3 = conn.createStatement();

            stmt1.close();
            stmt2.close();
            conn.releaseSavepoint(s1);
            conn.close();

錯誤是創建語句創建的查詢創建連接創建的錯誤:java.lang.UnsupportedOperationException

JDBC-ODBC Bridge顯然根本不支持保存點。 但是, UCanAccess JDBC驅動程序確實支持未命名的保存點:

String connStr = "jdbc:ucanaccess://C:/__tmp/test.mdb";
try (Connection conn = DriverManager.getConnection(connStr)) {
    conn.setAutoCommit(false);
    try (Statement s = conn.createStatement()) {
        s.executeUpdate("UPDATE ucaTest SET Field2='NEWVALUE1' WHERE ID=1");
    }
    java.sql.Savepoint sp1 = conn.setSavepoint();
    try (Statement s = conn.createStatement()) {
        s.executeUpdate("UPDATE ucaTest SET Field2='NEWVALUE2' WHERE ID=2");
    }
    conn.rollback(sp1);
    conn.commit();
} catch (Exception e) {
    e.printStackTrace(System.out);
}

有關使用UCanAccess的更多信息,請參見

在不使用ODBC的情況下從Java操作Access數據庫

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM