我遇到了这个错误 现在安静一下,我有这样的疑问:
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/