为什么在尝试在db中加载blob时会得到java.lang.AbstractMethodError? [英] Why do I get java.lang.AbstractMethodError when trying to load a blob in the db?

查看:251
本文介绍了为什么在尝试在db中加载blob时会得到java.lang.AbstractMethodError?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个JDBC的问题。

I've got a problem with JDBC.

我有以下代码:

//blargeparam is a blob column.
PreparedStatement pst =connection.prepareStatement("update gcp_processparams_log set blargeparam= ? where idprocessparamslog=1");

pst.setBinaryStream(1,inputStream);         

我收到以下错误:

Exception in thread "main" java.lang.AbstractMethodError:           
oracle.jdbc.driver.T2CPreparedStatement.setBinaryStream(ILjava/io/InputStream;)V  

我的连接字符串是 jdbc:oracle:oci:@ .....

Oracle版本为11g。

The Oracle version is 11g.

从错误消息看起来似乎缺少某些东西,但是:

From the error message it seems that something is missing but:


  • 我从同一blob列中读取
    (与blob.getBytes)一切
    工作。

  • 即时客户端的DLL是

  • 这是我的类路径中Oracle
    JDBC JAR的清单:

  • when I read from the same blob column (with blob.getBytes) everything works.
  • The DLL's of the instant client are (correctly) in the library path.
  • This is the manifest of the Oracle JDBC JAR in my class path:

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  


推荐答案

驱动程序10.2与JDBC3兼容,它可能不能与JRE6
一起使用,因为我在这里找到:

It looks that even if the driver 10.2 is compatible with the JDBC3 it may not work with JRE6 as I've found here:

http://www.oracle.com/technology/tech/java/sqlj_jdbc/htdocs/jdbc_faq.html#02_03

哪些JDBC驱动程序支持哪些版本的Javasoft的JDK?

Which JDBC drivers support which versions of Javasoft's 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

pre-8i OCI and THIN Drivers - JDK 1.0.x and JDK 1.1.x
8.1.5 OCI and THIN Drivers - JDK 1.0.x and JDK 1.1.x
8.1.6SDK THIN Driver - JDK 1.1.x and JDK 1.2.x (aka Java2)
8.1.6SDK OCI Driver - Only JDK 1.1.x
8.1.6 OCI and THIN Driver - JDK 1.1.x and JDK 1.2.x
8.1.7 OCI and THIN Driver - JDK 1.1.x and JDK 1.2.x
9.0.1 OCI and THIN Driver - JDK 1.1.x, JDK 1.2.x and JDK 1.3.x
9.2.0 OCI and THIN Driver - JDK 1.1.x, JDK 1.2.x, JDK 1.3.x, and JDK 1.4.x
10.1.0 OCI and THIN Driver - JDK 1.2.x, JDK 1.3.x, and JDK 1.4.x
10.2.0 OCI and THIN Driver - JDK 1.2.x, JDK 1.3.x, JDK 1.4.x, and JDK 5.0.x
11.1.0 OCI and THIN Driver - JDK 1.5.x and JDK 1.6.x

Oracle 10.2.0支持:

Oracle 10.2.0 supports:

完全支持JDBC 3.0

在数据库中对以下内容的支持没有真正的变化。 Allthat改变了,以前抛出SQLException的一些方法现在做一些更合理的事情。

result-set可持续性

返回多个结果集。

Full support for JDBC 3.0
Note that there is no real change in the support for the following in the database. Allthat has changed is that some methods that previously threw SQLException now do something more reasonable instead.
result-set holdability
returning multiple result-sets.

这篇关于为什么在尝试在db中加载blob时会得到java.lang.AbstractMethodError?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆