首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >错误代码=-4220,SQLSTATE=为空

问错误代码=-4220,SQLSTATE=为空
EN

Stack Overflow用户
提问于 2017-03-06 18:30:00
回答 2查看 7.2K关注 0票数 1

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

代码语言:javascript
复制
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,我使用的是sqllib文件夹下db2 10.5中的jars。有人告诉我怎么解决这个问题吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-03-07 02:29:34

您可以在Java代码中使用system属性来设置字符集解码器编码器。

例如:

代码语言:javascript
复制
System.setProperty("db2.jcc.charsetDecoderEncoder", "3");
票数 0
EN

Stack Overflow用户

发布于 2019-02-26 23:24:31

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

-Ddb2.jcc.charsetDecoderEncoder=3

这起作用了。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/42623220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档