powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Проблема с заглавной буквой И
6 сообщений из 6, страница 1 из 1
Проблема с заглавной буквой И
    #36259654
kasyanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
Столкнулся со странной проблемой.
Пытаюсь в соответствии с примером, взятым у ибм, загрузить приложением java xml-данные, не конвертируя - из файла в юникоде через blob, пользуясь неявным разбором:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
       String xsdData = new String();
       xsdData=returnFileValues("C:\\tmp\\goods20091019110942.xml");
       byte[] byteArray=xsdData.getBytes();
       java.sql.Blob blobData = 
           com.ibm.db2.jcc.t2zos.DB2LobFactory.createBlob(byteArray);
       PreparedStatement pstmt = con.prepareStatement(
           "INSERT INTO GOODS.xmlin(doc) " +
       		"VALUES(cast(? as BLOB) )");
       pstmt.setBlob( 1 , blobData);
       pstmt.execute();


(код заимствован из примера XMLInsert.java)

Получаю ошибку
Error Msg: DB2 SQL error: SQLCODE: -16103, SQLSTATE: 2200M, SQLERRMC: null

Эта ошибка происходит исключительно в том случае, если в файле встречается заглавная русская буква И.
В остальных случаях все проходит на ура.
Проверял, например, на следующем XML, который перед эти успешно выгрузил средствами DB2 (тоже не конвертируя, через getBinaryStream):

<?xml version="1.0" encoding="UTF-8"?>
<GOODS>
<ITEM CODE="ЙЦУКЕНГШЩЗХЪФЫВАПРОЛДЖЭЯЧСМИТЬБЮЁйцукенгшщзхъфывапролджэячсмитьбюё">
</ITEM>
</GOODS>

Так вот, убираю "И" - и все грузится.
Наверное, нужно попробовать через CLOB, но тогда нужно заботиться о кодовой странице клиента и т.д... Почему же бинарно не работает?
PS Пробовал загружать сначала в blob на базе , а потом пытаться перегнать в xml - та же картина.
...
Рейтинг: 0 / 0
Проблема с заглавной буквой И
    #36259749
kasyanov,

Версия JDBC драйвера какая? Какой версии и платформы DB2 на сервере? Какая версия JDK/JRE используется?
Настораживает явное использование класса com.ibm.db2.jcc.t2zos.DB2LobFactory.
...
Рейтинг: 0 / 0
Проблема с заглавной буквой И
    #36259783
kasyanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Евгений Хабаровkasyanov,

Версия JDBC драйвера какая? Какой версии и платформы DB2 на сервере? Какая версия JDK/JRE используется?
Настораживает явное использование класса com.ibm.db2.jcc.t2zos.DB2LobFactory.


Драйвер 3.5 насколько я понимаю
JDK 6
Db2 9.7
DB2LobFactory - не знаю, взял из примера
...
Рейтинг: 0 / 0
Проблема с заглавной буквой И
    #36259829
Mark Barinstein
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
...
Рейтинг: 0 / 0
Проблема с заглавной буквой И
    #36260025
kasyanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mark Barinsteinkasyanov,

Insertion into XML columns .

Круто, setBinaryStream рулит :)
Но он наверное тоже только для драйвера 4.0 подходит, и в процедурах его нельзя будет использовать?
Все же попробую сейчас.
Хотя я уже сделал через чтение файла в UTF-8.

ЗЫ Вижу свою ошибку - вместо того чтобы использовать в первую очередь базисы из Information Center, я в лоб нахожу примеры в директории Samples от DB2, что оказывается не лучшим выбором :)
...
Рейтинг: 0 / 0
Проблема с заглавной буквой И
    #36260143
kasyanov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kasyanov
Круто, setBinaryStream рулит :)
Но он наверное тоже только для драйвера 4.0 подходит, и в процедурах его нельзя будет использовать?
Все же попробую сейчас.
:)

Все работает отлично и в процедуре тоже!
Марк, огромное спасибо.

Алексей.
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Проблема с заглавной буквой И
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]