2014-01-10 1 views
0

Как проверить кодировку символов таблицы или столбца в DB2?Как проверить кодировку символов таблицы или столбца в DB2?

У меня есть странные символы, появляющиеся в некоторых записях в базе данных DB2, и мне было интересно узнать, как я могу проверить текущую кодировку символов для таблицы или столбца.

Strange characters

Из-за этого, я получаю сообщение об ошибке. Вот трассировка стека.

Exception: [jcc][t4][1065][12306][3.64.106] Caught java.io.CharConversionException. 

See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null 
01/14/2014 01:44:44 AM HTTP JVM: com.ibm.db2.jcc.am.SqlException: [jcc][t4][1065][12306][3.64.106] Caught java.io.CharConversionException. See attached Throwable for details. ERRORCODE=-4220, SQLSTATE=null 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.bd.a(bd.java:663) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.bd.a(bd.java:60) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.bd.a(bd.java:112) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.a(fc.java:2825) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.p(fc.java:525) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.N(fc.java:1562) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.ResultSet.getStringX(ResultSet.java:1147) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.ResultSet.getString(ResultSet.java:1122) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.ResultSet.getString(ResultSet.java:1698) 
01/14/2014 01:44:44 AM HTTP JVM: at PersonalInventionHistory.inventorDetail(Unknown Source) 
01/14/2014 01:44:44 AM HTTP JVM: at PersonalInventionHistory.NotesMain(Unknown Source) 
01/14/2014 01:44:44 AM HTTP JVM: at lotus.domino.AgentBase.runNotes(Unknown Source) 
01/14/2014 01:44:44 AM HTTP JVM: at lotus.domino.NotesThread.run(Unknown Source) 
01/14/2014 01:44:44 AM HTTP JVM: Caused by: 
01/14/2014 01:44:44 AM HTTP JVM: java.nio.charset.MalformedInputException: Input length = 3793 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.r.a(r.java:19) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.fc.a(fc.java:2821) 
01/14/2014 01:44:44 AM HTTP JVM: ... 9 more 
01/14/2014 01:44:44 AM HTTP JVM: Caused by: 
01/14/2014 01:44:44 AM HTTP JVM: sun.io.MalformedInputException 
01/14/2014 01:44:44 AM HTTP JVM: at sun.io.ByteToCharUTF8.convert(ByteToCharUTF8.java:293) 
01/14/2014 01:44:44 AM HTTP JVM: at com.ibm.db2.jcc.am.r.a(r.java:16) 
01/14/2014 01:44:44 AM HTTP JVM: ... 10 more 
+1

Это зависит от платформы и версии DB2. Вы также можете подробно описать, как вы определили, что __strange characters__ появляются в базе данных, а не как артефакт клиента, который вы используете. – mustaccio

+0

Согласитесь с @mustaccio - я изучил данные такого рода раньше - с одного клиента у меня был акцентированный y, а другой - с акцентом i. Такое поведение _may_ оказало некоторое влияние на результаты копирования на Notepad (слишком долго, чтобы точно запомнить) ... Поскольку я искал «необычных» символов, я не стал выяснять, какой из них был прав (путем изучения байтов и проверка таблиц кодирования). –

ответ

1

Я нашел solution плюс добавил хорошо поставленные попытки и поймать блоки, решившие мою проблему.

Смежные вопросы