• (https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014550004)Topic: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null


                                               3 Posts                            
                

                             Pinned topic                                                              Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null                

    Nov 5, 2010                                     |                                         
    Error Error:
     
    none
    Cancel
                                                
    Answered question                         Answered question                        This question has been answered.                    
    Unanswered question                         Unanswered question                        This question has not been answered yet.                    
                                                                                                                               Hello Everyone,
         We are having problem w/ retrieving data column that has special character from the db2 database. when we try to use the recordset.getString(columname) method we catch the exception below. Is there any workaround how to retrieve the data w/ out exception?
         Error catch:
         R com.ibm.db2.jcc.b.SqlException: jcct4106512306http://3.50.152 Caught java.io.CharConversionException. See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null
         I tried also using getBytes method and catch different error which is :      Invalid data conversion: Wrong result column type for requested conversion. ERRORCODE=-4461, SQLSTATE=42815
         anyone has the idea how to solve this problem?                              
    • Log in to reply.
    •                                                                                                                                                                                                                                                                                                                                                                     
    Updated on Mar 15, 2012 at 10:21 PM by SUGS_Brian_Trapp
    •         
      sasami                                         
      sasami
                                                 11 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Nov 6, 2010                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
                                                                                                                                 Hmmm. May need goet more information from you to see what is going on here.      Will it be too much trouble for asking the following:      1. trace      An example to turn on trace:      ...      private static String url = "jdbc:db2://xxxxxxxxxxxx.vmec.svl.ibm.com:446/STLEC1"      +":traceFile=c:/temp/jdbc4.log"      +";traceLevel="      + com.ibm.db2.jcc.DB2BaseDataSource.TRACE_ALL      + ";";      private static String user="xxxxxxxx";      private static String password="yyyyyyyy";
           ...
           private Connection getConnection() {      String driverClassName = "com.ibm.db2.jcc.DB2Driver";      try {      Class.forName( driverClassName ).newInstance();      } catch (InstantiationException e) {
           e.printStackTrace();      } catch (IllegalAccessException e) {
           e.printStackTrace();      } catch (ClassNotFoundException e) {
           e.printStackTrace();      }      try {      return DriverManager.getConnection ( url,      user,      password);
           } catch (SQLException e) {
           e.printStackTrace();      }      return null;      }
           2. what is the data type for the column ?      3. your code which could reproduce the problem                              
      • Log in to reply.
      •                                                                                                                                                                                                                                                                                                                                                                     
       
    •         
      allen.montejo                                         
      allen.montejo
                                                 3 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Nov 8, 2010                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
      • sasami            
      •                           
      • Nov 6, 2010               
      •                 
                                                                      Hmmm. May need goet more information from you to see what is going on here.      Will it be too much trouble for asking the following:      1. trace      An example to turn on trace:      ...      private static String url = "jdbc:db2://xxxxxxxxxxxx.vmec.svl.ibm.com:446/STLEC1"      +":traceFile=c:/temp/jdbc4.log"      +";traceLevel="      + com.ibm.db2.jcc.DB2BaseDataSource.TRACE_ALL      + ";";      private static String user="xxxxxxxx";      private static String password="yyyyyyyy";
           ...
           private Connection getConnection() {      String driverClassName = "com.ibm.db2.jcc.DB2Driver";      try {      Class.forName( driverClassName ).newInstance();      } catch (InstantiationException e) {
           e.printStackTrace();      } catch (IllegalAccessException e) {
           e.printStackTrace();      } catch (ClassNotFoundException e) {
           e.printStackTrace();      }      try {      return DriverManager.getConnection ( url,      user,      password);
           } catch (SQLException e) {
           e.printStackTrace();      }      return null;      }
           2. what is the data type for the column ?      3. your code which could reproduce the problem                                      
      More...                   
                                       
                                                                                                Hi Sasami,
           1. below is the log trace I catch.
      11/8/10 17:40:31:765 SGT 0000001d SystemErr R com.ibm.db2.jcc.b.SqlException: jcct4106512306http://3.50.152 Caught java.io.CharConversionException. See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.wc.a(wc.java:55) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.wc.a(wc.java:111) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.bc.a(bc.java:1766) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.bc.n(bc.java:496) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.bc.F(bc.java:1263) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.jk.d(jk.java:939) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.jk.getString(jk.java:917) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.jk.getString(jk.java:1369) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.getString(WSJdbcResultSet.java:1848) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R Caused by: java.nio.charset.MalformedInputException: Input length = 127      at com.ibm.db2.jcc.b.u.a(u.java:19)      at com.ibm.db2.jcc.b.bc.a(bc.java:1762)      at com.ibm.db2.jcc.b.bc.n(bc.java:496)      at com.ibm.db2.jcc.b.bc.F(bc.java:1263)      at com.ibm.db2.jcc.b.jk.d(jk.java:939)      at com.ibm.db2.jcc.b.jk.getString(jk.java:917)      at com.ibm.db2.jcc.b.jk.getString(jk.java:1369)      at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.getString(WSJdbcResultSet.java:1848)      at tools.knowledgegate.db.access.InventorDataAccess.findBySerialNumberAndCountryCode(InventorDataAccess.java)      at tools.knowledgegate.http.model.PIHSearchReportHttpActionListener.actionPerformed(PIHSearchReportHttpActionListener.java:66)      at tools.knowledgegate.http.servlet.BrokerServlet.performTask(BrokerServlet.java:216)      at tools.knowledgegate.http.servlet.BrokerServlet.doPost(BrokerServlet.java:83)      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)      at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)      Caused by: sun.io.MalformedInputException      at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:278)      at com.ibm.db2.jcc.b.u.a(u.java:16)      ... 34 more
           2. The data type of the column is Varchar , size = 256 , nullable = Yes
           3. I can reproduce the problem using below code      System.out.println(recordset.getString("columname"));
           Have you experience such case? I tried to use the getBytes method too and it seems like it doesn't work.
           think and do something different, something has never been done and seen before..                              
      • Log in to reply.
      •                                                                                                                                                                                                                                                                                                                                                                     
       
    •         
      sasami                                         
      sasami
                                                 11 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Nov 9, 2010                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
      • allen.montejo            
      •                           
      • Nov 8, 2010               
      •                 
                                                                      Hi Sasami,
           1. below is the log trace I catch.
      11/8/10 17:40:31:765 SGT 0000001d SystemErr R com.ibm.db2.jcc.b.SqlException: jcct4106512306http://3.50.152 Caught java.io.CharConversionException. See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.wc.a(wc.java:55) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.wc.a(wc.java:111) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.bc.a(bc.java:1766) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.bc.n(bc.java:496) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.bc.F(bc.java:1263) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.jk.d(jk.java:939) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.jk.getString(jk.java:917) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.db2.jcc.b.jk.getString(jk.java:1369) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.getString(WSJdbcResultSet.java:1848) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:763) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at javax.servlet.http.HttpServlet.service(HttpServlet.java:856) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113) 11/8/10 17:40:31:765 SGT 0000001d SystemErr R at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510) 11/8/10 17:40:31:781 SGT 0000001d SystemErr R Caused by: java.nio.charset.MalformedInputException: Input length = 127      at com.ibm.db2.jcc.b.u.a(u.java:19)      at com.ibm.db2.jcc.b.bc.a(bc.java:1762)      at com.ibm.db2.jcc.b.bc.n(bc.java:496)      at com.ibm.db2.jcc.b.bc.F(bc.java:1263)      at com.ibm.db2.jcc.b.jk.d(jk.java:939)      at com.ibm.db2.jcc.b.jk.getString(jk.java:917)      at com.ibm.db2.jcc.b.jk.getString(jk.java:1369)      at com.ibm.ws.rsadapter.jdbc.WSJdbcResultSet.getString(WSJdbcResultSet.java:1848)      at tools.knowledgegate.db.access.InventorDataAccess.findBySerialNumberAndCountryCode(InventorDataAccess.java)      at tools.knowledgegate.http.model.PIHSearchReportHttpActionListener.actionPerformed(PIHSearchReportHttpActionListener.java:66)      at tools.knowledgegate.http.servlet.BrokerServlet.performTask(BrokerServlet.java:216)      at tools.knowledgegate.http.servlet.BrokerServlet.doPost(BrokerServlet.java:83)      at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)      at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)      at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)      at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)      at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)      at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3129)      at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:238)      at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:811)      at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1433)      at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:93)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)      at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)      at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)      at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:152)      at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:213)      at com.ibm.io.async.AbstractAsyncFuture.fireCompletionActions(AbstractAsyncFuture.java:195)      at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)      at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:194)      at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:741)      at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:863)      at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1510)      Caused by: sun.io.MalformedInputException      at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:278)      at com.ibm.db2.jcc.b.u.a(u.java:16)      ... 34 more
           2. The data type of the column is Varchar , size = 256 , nullable = Yes
           3. I can reproduce the problem using below code      System.out.println(recordset.getString("columname"));
           Have you experience such case? I tried to use the getBytes method too and it seems like it doesn't work.
           think and do something different, something has never been done and seen before..                                      
      More...                   
                                       
                                                                                                Hi Allen,
           No. Unforturnatly I am not having any luck to recrete the problem.
           You know you are using a very very old JDBC driver: 3.50.152. Do you have to use a such old driver? The current driver is at 3.62.
           Anyway, I was thinking you may be able to get a trace like following so I can get more information about the problem:      each line should starts with jcc, for example
      jccTime:2010-11-08-21:13:38.031Thread:mainResultSet@7fc07fc getString (2) called jccTime:2010-11-08-21:13:38.046Thread:mainResultSet@7fc07fc getString () returned 2010-11-08 21:13:37 PRÿCESS-1 2010-11-08 21:13:37.453
           So, you see the special character: ÿ      is okay.      Best regards,
           Sasami                              
      • Log in to reply.
      •                                                                                                                                                                                                                                                                                                                                                                     
       
    •         
      allen.montejo                                         
      allen.montejo
                                                 3 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Jan 8, 2011                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
      • sasami            
      •                           
      • Nov 9, 2010               
      •                 
                                                                      Hi Allen,
           No. Unforturnatly I am not having any luck to recrete the problem.
           You know you are using a very very old JDBC driver: 3.50.152. Do you have to use a such old driver? The current driver is at 3.62.
           Anyway, I was thinking you may be able to get a trace like following so I can get more information about the problem:      each line should starts with jcc, for example
      jccTime:2010-11-08-21:13:38.031Thread:mainResultSet@7fc07fc getString (2) called jccTime:2010-11-08-21:13:38.046Thread:mainResultSet@7fc07fc getString () returned 2010-11-08 21:13:37 PRÿCESS-1 2010-11-08 21:13:37.453
           So, you see the special character: ÿ      is okay.      Best regards,
           Sasami                                      
      More...                   
                                       
                                                                                                can you guide me where I could download the latest db2 jdbc driver? I will try to upgrade my local copy and I will try if that will fix the problem.                              
      • Log in to reply.
      •                                                                                                                                                                                                                                                                                                                                                                     
       
    •         
      sasami                                         
      sasami
                                                 11 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Jan 8, 2011                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
      • allen.montejo            
      •                           
      • Jan 8, 2011               
      •                 
                                                                      can you guide me where I could download the latest db2 jdbc driver? I will try to upgrade my local copy and I will try if that will fix the problem.                                      
                                       
                                                                                                db2 jdbc driver comes w/ db2. If you are not using a very old db2, it is possible that the classpath points to a very old copy of db2jcc.jar. The trace tells DB2 release/version, classpath, etc.
           If you are just running a simple stand-alone java application which uses jdbc APIs, you may posting your code here.
           If you are running some kind of tool which invokes db2, you may still turn jcc trace on dynamically using JVM argument:
           -Ddb2.jcc.propertiesFile=jcc.properties      following is an example of jcc.properties file:
           db2.jcc.override.traceDirectory=/temp/jcctrace      db2.jcc.override.traceFile=trace      db2.jcc.override.traceFileAppend=false      db2.jcc.override.traceLevel=-1      Regards,
           -                              
      • Log in to reply.
      •                                                                                                                                                                                                                                                                                                                                                                     
       
    •         
      SUGS_Brian_Trapp                                         
      SUGS_Brian_Trapp
                                                 2 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Mar 15, 2012                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
      • sasami            
      •                           
      • Jan 8, 2011               
      •                 
                                                                      db2 jdbc driver comes w/ db2. If you are not using a very old db2, it is possible that the classpath points to a very old copy of db2jcc.jar. The trace tells DB2 release/version, classpath, etc.
           If you are just running a simple stand-alone java application which uses jdbc APIs, you may posting your code here.
           If you are running some kind of tool which invokes db2, you may still turn jcc trace on dynamically using JVM argument:
           -Ddb2.jcc.propertiesFile=jcc.properties      following is an example of jcc.properties file:
           db2.jcc.override.traceDirectory=/temp/jcctrace      db2.jcc.override.traceFile=trace      db2.jcc.override.traceFileAppend=false      db2.jcc.override.traceLevel=-1      Regards,
           -                                      
      More...                   
                                       
                                                                                                I know this is an old thread, but I just ran across this and wanted to share the fix suggested by one of our friendly DBAs.
           This link discusses the problem, https://www-304.ibm.com/support/docview.wss?uid=swg21412846 but the way we were able to work around it locally was to use the java command line argument "-Ddb2.jcc.charsetDecoderEncoder=3" which maps the funky chars to null on the way out of the DB.
           -B. Trapp                              
      • Log in to reply.
      •                                                                                                                                                                                                                                                                                                                                                                     
       
    •         
      jguillaumes                                         
      jguillaumes
                                                 8 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Mar 15, 2012                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
      • SUGS_Brian_Trapp            
      •                           
      • Mar 15, 2012               
      •                 
                                                                      I know this is an old thread, but I just ran across this and wanted to share the fix suggested by one of our friendly DBAs.
           This link discusses the problem, https://www-304.ibm.com/support/docview.wss?uid=swg21412846 but the way we were able to work around it locally was to use the java command line argument "-Ddb2.jcc.charsetDecoderEncoder=3" which maps the funky chars to null on the way out of the DB.
           -B. Trapp                                      
      More...                   
                                       
                                                                                                You can also cast the column to CHAR FOR BIT DATA and do the conversion in code.                              
      • Log in to reply.
      •                                                                                                                                                                                                                                                                                                                                                                     
       
    •         
      SUGS_Brian_Trapp                                         
      SUGS_Brian_Trapp
                                                 2 Posts                            
                  

      Re: Caught java.io.CharConversionException. ERRORCODE=-4220, SQLSTATE=null

      Mar 15, 2012                                                                                 
                               This is the accepted answer.                         This is the accepted answer.                     
      • sasami            
      •                           
      • Jan 8, 2011               
      •                 
                                                                      db2 jdbc driver comes w/ db2. If you are not using a very old db2, it is possible that the classpath points to a very old copy of db2jcc.jar. The trace tells DB2 release/version, classpath, etc.
           If you are just running a simple stand-alone java application which uses jdbc APIs, you may posting your code here.
           If you are running some kind of tool which invokes db2, you may still turn jcc trace on dynamically using JVM argument:
           -Ddb2.jcc.propertiesFile=jcc.properties      following is an example of jcc.properties file:
           db2.jcc.override.traceDirectory=/temp/jcctrace      db2.jcc.override.traceFile=trace      db2.jcc.override.traceFileAppend=false      db2.jcc.override.traceLevel=-1      Regards,
           -                                      
      More...                   
                                       
                                                                                                I know this is an old thread, but I just ran across this and wanted to share the fix suggested by one of our friendly DBAs.
           This link discusses the problem, https://www-304.ibm.com/support/docview.wss?uid=swg21412846 but the way we were able to work around it locally was to use the java command line argument "-Ddb2.jcc.charsetDecoderEncoder=3" which maps the funky chars to null on the way out of the DB.
           -B. Trapp                              
  • 相关阅读:
    献给即将27岁的我
    oracle导表小结
    [译]第三章:什么是组织结构
    第三章:什么是组织结构
    第二章:什么是组织
    [译]第二章:什么是组织
    第一章:什么是管理
    [译]第一章:什么是管理
    [原]DbHelper-SQL数据库访问助手
    DbHelper-SQL数据库访问助手
  • 原文地址:https://www.cnblogs.com/xuxiuxiu/p/7271960.html
Copyright © 2020-2023  润新知