mic*_*sca 45 java database oracle jdbc oracleclient
我遇到了JDBC问题.
我有以下代码:
//blargeparam is a blob column.
PreparedStatement pst =connection.prepareStatement("update gcp_processparams_log set blargeparam= ? where idprocessparamslog=1");
pst.setBinaryStream(1,inputStream);
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Exception in thread "main" java.lang.AbstractMethodError:
oracle.jdbc.driver.T2CPreparedStatement.setBinaryStream(ILjava/io/InputStream;)V
Run Code Online (Sandbox Code Playgroud)
我的连接字符串是 jdbc:oracle:oci:@.....
Oracle版本为11g.
从错误消息似乎缺少某些东西但是:
这是我的类路径中Oracle JDBC JAR的清单:
Manifest-Version: 1.0
Specification-Title: Oracle JDBC driver classes for use with JDK14
Sealed: true
Created-By: 1.4.2_14 (Sun Microsystems Inc.)
Implementation-Title: ojdbc14.jar
Specification-Vendor: Oracle Corporation
Specification-Version: Oracle JDBC Driver version - "10.2.0.4.0"
Implementation-Version: Oracle JDBC Driver version - "10.2.0.4.0"
Implementation-Vendor: Oracle Corporation
Implementation-Time: Sat Feb 2 11:40:29 2008
Run Code Online (Sandbox Code Playgroud)mic*_*sca 11
看起来即使驱动程序10.2与JDBC3兼容,它也可能不适用于JRE6,正如我在这里找到的:
http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.html#02_03
哪些JDBC驱动程序支持哪些版本的Javasoft JDK?
pre-8i OCI和THIN驱动程序 - JDK 1.0.x和JDK 1.1.x
8.1.5 OCI和THIN驱动程序 - JDK 1.0.x和JDK 1.1.x
8.1.6SDK THIN驱动程序 - JDK 1.1.x和JDK 1.2.x(又称Java2)
8.1.6SDK OCI驱动程序 - 仅JDK 1.1.x
8.1.6 OCI和THIN驱动程序 - JDK 1.1.x和JDK 1.2.x
8.1.7 OCI和THIN驱动程序 - JDK 1.1.x和JDK 1.2.x
9.0. 1 OCI和THIN驱动程序 - JDK 1.1.x,JDK 1.2.x和JDK 1.3.x
9.2.0 OCI和THIN驱动程序 - JDK 1.1.x,JDK 1.2.x,JDK 1.3.x和JDK 1.4.x
10.1. 0 OCI和THIN驱动程序 - JDK 1.2.x,JDK 1.3.x和JDK 1.4.x
10.2.0 OCI和THIN驱动程序 - JDK 1.2.x,JDK 1.3.x,JDK 1.4.x和JDK 5.0.x
11.1 .0 OCI和THIN驱动程序 - JDK 1.5.x和JDK 1.6.x.
Oracle 10.2.0支持:
完全支持JDBC 3.0
请注意,数据库中对以下内容的支持没有真正的变化.所有改变的是,之前抛出SQLException的一些方法现在做了更合理的事情.
结果集可保持性
返回多个结果集.
以下是JDK API关于AbstractMethodError的内容:
应用程序尝试调用抽象方法时抛出.通常,编译器会捕获此错误; 如果自上次编译当前正在执行的方法以来某些类的定义发生了不兼容的更改,则此错误只能在运行时发生.
也许是oracle驱动程序中的bug?