2017-03-06 11 views
1

私はDB2バージョン10.5を使用してDB2JSONに値を挿入し、私はクエリを実行するとテーブル(コレクション)からすべての値を取得するための単純なスタンドアロンJavaプログラムを作成しました私もそれがdb2.jcc.charsetDecoderEncoder = 3を使用することをお勧めthroughtいくつかの記事を行ってきましたエラーコード= -4220とSQLSTATE = null

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 

次のエラーを取得しますが、私はそれをどこに使うには考えている、それはtouse提案されても、私いくつかの他の記事最新のバージョンdb2jcc.jar、sqllibフォルダーの下にあるdb2 10.5の内部にあるjarファイルを使用しています。誰でも私にこれを修正する方法を教えてください

答えて

0

Javaコード内のシステムプロパティを使用して、文字セットデコーダエンコーダを設定できます。例えば

System.setProperty("db2.jcc.charsetDecoderEncoder", "3"); 
+0

iはDBのDB = NoSQLClient.getDB(からDatabaseUrl、ユーザ、パスワード、NS)を試みました。 DBCollection col = db.getCollection( "******"); System.setProperty( "db2.jcc.charsetDecoderEncoder"、 "3"); BasicDBObject db1 =新しいBasicDBObject(); DBCursor cursor = col.find(); –

+0

と同じエラーが発生します。私はそれを正しくやっていますか? –

+0

@raghulc 'System.setProperty(" db2.jcc.charsetDecoderEncoder "、" 3 ");はクラスの最初の行にする必要がありますが、接続を取得した後にプロパティを設定しています。 – fabfas