java - 错误代码=-4220 且 SQLSTATE= null

标签 java jdbc exception db2

我正在使用 db2 版本 10.5 并将值插入 DB2JSON,创建了一个简单的独立 java 程序来检索表(集合)中的所有值,当我运行查询时出现以下错误

Exception in thread "main" java.lang.RuntimeException: com.ibm.db2.jcc.am.SqlException: [jcc][t4][1065][12306][3.69.66] Caught java.io.CharConversionException.  See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null
      at com.ibm.nosql.json.api.DBObjectRowHandler.handle(DBObjectRowHandler.java:38)
      at com.ibm.nosql.json.api.DBObjectRowHandler.handle(DBObjectRowHandler.java:14)
      at com.ibm.nosql.json.api.BaseResultIterator.next(BaseResultIterator.java:119)
      at com.ibm.nosql.json.api.DBCursor.fetchResultsEagerly(DBCursor.java:801)
      at com.ibm.nosql.json.api.DBCursor.find(DBCursor.java:895)
      at com.ibm.nosql.json.api.DBCursor.hasNext(DBCursor.java:278)
      at com.ws.Demo.TestingDemo.main(TestingDemo.java:47)
Caused by: com.ibm.db2.jcc.am.SqlException: [jcc][t4][1065][12306][3.69.66] Caught java.io.CharConversionException.  See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null
      at com.ibm.db2.jcc.am.gd.a(gd.java:733)
      at com.ibm.db2.jcc.am.gd.a(gd.java:66)
      at com.ibm.db2.jcc.am.gd.a(gd.java:120)
      at com.ibm.db2.jcc.am.kc.a(kc.java:2868)
      at com.ibm.db2.jcc.am.kc.p(kc.java:525)
      at com.ibm.db2.jcc.am.kc.Z(kc.java:2747)
      at com.ibm.db2.jcc.am.ResultSet.getObjectX(ResultSet.java:1438)
      at com.ibm.db2.jcc.am.ResultSet.getObject(ResultSet.java:1413)
      at com.ibm.nosql.json.api.DBResultSet.getObject(DBResultSet.java:255)
      at com.ibm.nosql.json.api.DBData.getObjectX(DBData.java:66)
      at com.ibm.nosql.json.api.DBObjectRowHandler.getObjectID(DBObjectRowHandler.java:58)
      at com.ibm.nosql.json.api.DBObjectRowHandler.handle(DBObjectRowHandler.java:28)
      ... 6 more
Caused by: java.nio.charset.MalformedInputException: Input length = 290
      at com.ibm.db2.jcc.am.r.a(r.java:19)
      at com.ibm.db2.jcc.am.kc.a(kc.java:2864)
      ... 14 more
Caused by: sun.io.MalformedInputException
      at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:292)
      at com.ibm.db2.jcc.am.r.a(r.java:16)
      ... 15 more

我还浏览了一些建议使用 db2.jcc.charsetDecoderEncoder=3 的帖子,但我不知道在哪里使用它,而且我也有一些其他帖子建议使用最新版本的 db2jcc.jar,我是使用 db2 10.5 中 sqllib 文件夹下存在的 jar。谁让我知道如何解决这个问题

最佳答案

在 tomcat 设置中添加以下环境变量(Java VM 参数)

-Ddb2.jcc.charsetDecoderEncoder=3

这有效。

关于java - 错误代码=-4220 且 SQLSTATE= null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42623220/

相关文章:

java - MariaDB JDBC 客户端日志记录

c# - 那么最好使用try/catch吗?

java - 增加堆栈空间,独立于机器 - Java

java - 如何识别没有任何标签的元素的xpath?

java - 如何删除字符串的第一个和最后一个字符?

java - Spring Boot 监控 JDBC 池 Activity

java - 在 Spring 应用程序中从 JBOSS 4.2.3 配置 JNDI 数据源

java - 有没有办法使用 Java 和 JDBC 监听 Microsoft SQL 数据库表中的更改?

c# - 如何处理异常消息的翻译?

python 用颜色引发 KeyError 消息