java - 在准备好的 stament db2 中设置数组不工作 Java

标签 java jdbc db2

我遇到了这个错误 现在安静一下,我有这样的疑问:

String sql = "select US_KEY, US_LOGID, US_PASSWORD, US_SESSION, US_LASTLOGIN,\n" +
"   US_LASTACCESS, US_INTENTOS, US_NOMBRE, US_APELLIDO, US_ESTADO,\n" +
"   US_RAZON, US_RUT, US_DIGITOV, US_DIRECCION, US_EMAIL,\n" +
"   US_TELEFONO, US_CARGO, TU_KEY, EM_KEY, US_ULTIMO_CAMBIO_PASS,\n" +
"   US_TELEFONO2, US_PIN, US_BLOQUEO, US_CHECK_VOLATIL_PASS,\n" +
"   US_PV_KEY_SELECTED, US_VD_KEY_SELECTED, US_SC_KEY_SELECTED,\n" +
"   US_SECRET_ASK\n" +
" from DBUSER.USUARIO\n" +
" where US_KEY in (?) ";

我设置的值如下:

Array array = query.getStatement().getConnection().createArrayOf("BIGINT",arrayOfLong);
query.setArray(param.getName(), array);

我使用 com.ibm.db2.jcc.DB2Driver 驱动程序连接到 db2 数据库并收到此错误:

com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc][1091][10417][3.62.56] Invalid data conversion: Parameter instance com.ibm.db2.jcc.am.p@6b09bb57 is invalid for the requested conversion. ERRORCODE=-4461, SQLSTATE=42815 at com.ibm.db2.jcc.am.fd.a(fd.java:676)

不可能将数组设置为 db2 的准备好的语句吗?不支持吗?还有其他选择吗?

最佳答案

查看site of IBM好像不行,不支持。

在表 19 中搜索方法 setArray(支持 java.sql.PreparedStatement 方法)。

关于java - 在准备好的 stament db2 中设置数组不工作 Java,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41101743/

相关文章:

sql - 将sql参数更改为十进制日期

sql - 如何在 Talend 中使用一个输入查询多个表?

java - 无法使用 Java Rally Rest API 创建测试集

java - @cacheable spring for redis,方法特定的ttl?

java - 使用 JDBC 查询数据库的最有效方式?

java - 我正在尝试在 JDBC 中实现 TYPE_FORWARD_ONLY。但是当我尝试在结果集中向后移动时它没有显示任何异常

.net - 仅使用 .dll 引用通过 .Net 连接到 IBM DB2

java - Dropbox API (OAuth v1) 授予的访问 token 的有效性是什么以及如何刷新它?

java - Jenkins构建失败:javac file not found

scala - Spark JDBC to DashDB (DB2) 与 CLOB 错误