大家好,问题是这样的:我用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()
我用的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()
解决方案 »
- java泛型疑问
- 关于面盘的使用出现的一些问题(50分)
- java中如何终止一个线程?
- 在java 中sun.misc.BASE64Encoder类起什么作用??在j2se的帮助文档中并没有此项,但在java的运行时包含
- 关于Scanner问题
- 加密的问题
- 我自己在JPanel上画了2维网格,我想在指定的网格内填入一个JLabel.兄弟们帮帮忙吧!分数一定给100以上.
- Swing中tree的问题
- 请问怎样用SOCKET实现PING的功能,是发一个ICMP包吗?请高手指点指点小女子!
- 封装了一个盘符的File对象调用listFiles()方法问题,求教
- sos!!各位好心人给妹妹看一下,哪儿出错了?在线等待!
- 我写了个杨辉三角的程序,出现数组溢出..
大家注意一下啦!哈哈