Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
DB2或Java中的问题-处理CLOB数据类型_Java_Db2 - Fatal编程技术网

DB2或Java中的问题-处理CLOB数据类型

DB2或Java中的问题-处理CLOB数据类型,java,db2,Java,Db2,我需要像前面提到的那样从DB2中提取逗号分隔的值,所以在快速搜索之后,我通过在select子句中使用以下函数找到了解决方案: SUBSTR(XMLCAST(XMLGROUP(', ' || col_1 AS C ORDER BY col_1) AS clob), 3) AS RES_COL 现在,返回的输出是CLOB而不是VARCHAR。我试图增加VARCHAR限制,但它给出了CAST错误。现在,我在阅读JAVA中的CLOB专栏时遇到以下异常 SQL state [HY000]; error

我需要像前面提到的那样从DB2中提取逗号分隔的值,所以在快速搜索之后,我通过在select子句中使用以下函数找到了解决方案:

SUBSTR(XMLCAST(XMLGROUP(', ' || col_1 AS C ORDER BY col_1)  AS clob), 3) AS RES_COL
现在,返回的输出是CLOB而不是VARCHAR。我试图增加VARCHAR限制,但它给出了CAST错误。现在,我在阅读JAVA中的CLOB专栏时遇到以下异常

SQL state [HY000]; error code [0]; [BEA][DB2 JDBC Driver]SQLDIAGGRP was specified and not null.; nested exception is java.sql.SQLException: [BEA][DB2 JDBC Driver]SQLDIAGGRP was specified and not null.
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:83)
    at org.springframework.jdbc.support.AbstractFallbackSQLExceptionTranslator.translate(AbstractFallbackSQLExceptionTranslator.java:80)
    at org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.java:407)
    at org.springframework.jdbc.core.JdbcTemplate.query(JdbcTemplate.java:458)
我找不到任何关于此异常确切含义的帮助?据我所知,它与JDBC驱动程序有关,但有人能对此做更多解释吗


否则,DB2专家能否告诉我如何返回VARCHAR而不是CLOB,以便JAVA在被查询时不会抱怨?

我能够通过在XMLCAST输出上使用CAST和TRIM DB2函数来解决这个问题。现在我可以从查询中返回VARCHAR,JAVA代码也运行良好

   SUBSTR(TRIM(CAST(XMLCAST(XMLGROUP(', ' || col_1 AS C ORDER BY col_1) AS clob) AS VARCHAR(4096))), 3) AS RES_COL

忘了提到我正在使用DB29.1,所以Listag函数不可用。