在SQL存储过程中使用CLOB数据类型

时间:2013-01-02 06:11:01

标签: sql db2 clob

我正在调用DB2 SQL存储过程(在大型机中),其中CLOB数据类型作为out参数以及其他参数。

CREATE PROCEDURE ACT_GETAUDIT01                                     
       (                                                            
        IN IN_ID            CHAR(12) FOR SBCS DATA CCSID EBCDIC  
       ,IN IN_CURSOR_ID        INTEGER                              
       ,IN IN_PAGING_TS        CHAR(26) FOR SBCS DATA CCSID EBCDIC  
       ,OUT OUT_AUDTDATA  CLOB FOR SBCS DATA CCSID EBCDIC           
       )


   LANGUAGE SQL                                                 
   READS SQL DATA                                               

从JAVA调用此存储过程时,我在execute()语句中收到以下异常。

CallableStatement cs =  conn.prepareCall(callstmt);

boolean resultsavailable = cs.execute();
  

线程“main”中的异常java.lang.IllegalArgumentException:负初始大小:-5
      at java.io.ByteArrayOutputStream。(Unknown Source)
      在com.ibm.db2.jcc.b.ba.a(ba.java:780)
      在com.ibm.db2.jcc.b.bd.d(bd.java:1961)
      在com.ibm.db2.jcc.b.bd.l(bd.java:378)
      在com.ibm.db2.jcc.b.bd.e(bd.java:91)
      在com.ibm.db2.jcc.b.r.e(r.java:108)
      在com.ibm.db2.jcc.b.bs.i(bs.java:191)
      在com.ibm.db2.jcc.c.cw.o(cw.java:1213)
      在com.ibm.db2.jcc.c.cx.d(cx.java:2061)
      在com.ibm.db2.jcc.c.cy.bq(cy.java:145)
      在com.ibm.db2.jcc.c.cy.execute(cy.java:128)

当我使用VARCHAR代替CLOB时,一切似乎都运行正常。我也已正确注册了输出参数。非常感谢任何帮助

1 个答案:

答案 0 :(得分:0)

sqlExe实用程序支持处理CLOB字段。你可以看看它。来源可在此处获取:http://sourceforge.net/projects/sqlexe/

相关问题