【发布时间】:2012-09-25 08:29:20
【问题描述】:
我使用的是9系列的db2jcc驱动FIX Pack 6。
我的代码
public void setParamsPreparedStatement(PreparedStatement s, String[][] params) throws Exception {
...
Clob myClob = s.getConnection().createClob();
myClob.setString(1, params[i][0]);
s.setClob(i+1, myClob);
在 JBoss 5.1.0 GA 中它会抛出错误:
12:01:54,914 242266 ERROR [org.jboss.aspects.tx.TxPolicy] (ConsumerMessageQueue:(1):) javax.ejb.EJBTransactionRolledbackException: Unexpected Error
java.lang.AbstractMethodError: org.jboss.resource.adapter.jdbc.jdk5.WrappedConnectionJDK5.createClob()Ljava/sql/Clob;
at database.Executer.setParamsPreparedStatement(Executer.java:761)
在普通的java中它给出了错误:
Exception in thread "main" java.lang.AbstractMethodError: com.ibm.db2.jcc.b.b.createClob()Ljava/sql/Clob;
at TestClob.main(TestClob.java:20)
是什么原因?
【问题讨论】:
-
您使用的是哪个版本的 JBoss AS,您下载了哪个二进制文件?
-
createClob()是在 JDBC 4.0 / Java 6 中添加的,很可能您正在使用 JDBC 3.0 驱动程序。