大家好,问题是这样的:我用JDBC的THIN连接连上ORACLE后,想试下部分回滚功能,就在插入两条记录后用 setSavepoint()方法,然后再插入一条记录,然后调用有savepoint参数的rollback方法,可是,在运行到 setSavepoint方法时,就报错了,错误为java.lang.AbstractMethodError,
我用的JDK为1.5,ORACLE为9i,JDBC的JAR文件为class12.jar,以下是部分代码,请各位高手指教,不胜感激!
Class.forName("oracle.jdbc.driver.OracleDriver");
Properties properties=new Properties();
properties.setProperty("username", "scott");
properties.setProperty("password", "tiger");
//Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.47:1521:billing", properties);//这句也报错,不知道为什么
Connection con=DriverManager.getConnection("jdbc:oracle:thin:@192.168.1.47:1521:billing", "scott","tiger");

System.out.println("连接创建成功");
System.out.println("con默认提交:"+con.getAutoCommit());
con.setAutoCommit(false);
System.out.println("con提交更改为:"+con.getAutoCommit());
Statement stm=con.createStatement();
stm.executeUpdate("insert into aa values(1,'wei')");
stm.executeUpdate("insert into aa values(2,'wang')");
Savepoint sp=con.setSavepoint();
stm.executeUpdate("insert into aa values(3,'chen')");

con.rollback(sp);
con.commit();
con.releaseSavepoint(sp);
stm.close();
con.close();
报的错误为:
Exception in thread "main" java.lang.AbstractMethodError: oracle.jdbc.driver.OracleConnection.setSavepoint()Ljava/sql/Savepoint;
at jdbc.SimpleJdbcTest.main(SimpleJdbcTest.java:48)我用反编译jad.exe查了class12.jar中的OracleConnection类的setSavepoint方法,不是抽象的
public synchronized OracleSavepoint oracleSetSavepoint()
        throws SQLException()