java.lang.AbstractMethodError:oracle.jdbc.T4CConnection.createClob()Ljava

当我在用PreparedStatement的setClob()方法时报错:

java.lang.AbstractMethodError:oracle.jdbc.T4CConnection.createClob()Ljava

解决方法
数据库驱动版本太低,将oracle的jar包换成高版本的ojdbc6.jar。

原因
JDK的API对AbstractMethodError是这样描述的:

Thrown when an application tries to call an abstract method. Normally,
this error is caught by the compiler; this error can only occur at run
time if the definition of some class has incompatibly changed since
the currently executing method was last compiled.

大体意思就是说这个错误是在应用尝试调用虚拟方法时抛出的,正常情况下是编译器造成的,产生错误的原因是某些类发生了不可兼容的改变。
由于setClob方法是java1.6版本以后引入的,所以较老的驱动就无法实现了。我的项目使用的是ojdbc14.jar,对应的应该是oracle10,它是和JDK1.4配套使用的oracle驱动。而ojdbc6.jar对应的是oracle11,对应的是oracle11,它是和JDK1.6对应的oracle驱动。因此只要把jar包换成ojdbc6.jar就可以了。

OVER

你可能感兴趣的:(jdk,oracle)