Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Ошибка CLI0109E при вызове функции с русскими параметрами / 11 сообщений из 11, страница 1 из 1
29.07.2008, 16:35
    #35458463
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
вызов db2 процедуры со строковым параметром, в котором используется кириллица приводит к ошибке :

call ONE_SCHEMA.ins_prib_k('PR','657803','A','515151511',5,1100,'20','1',2111,'ЭА717818','864300','242005','100001','13134131','05','1222',' ','ОАО СИНТЕЗ','1900-01-01-00.00.00.000000',0,0,0,0,' ',' ',' ',' ','1900-01-01-00.00.00.000000',0,0,' ',' ',' ',' ',' ',' ',' ',0,' ',0,'0',' ','96969696','2008-07-17-14.42.00.000000',0)

ERROR [22001] [IBM][CLI Driver] CLI0109E Строка усечена справа. SQLSTATE=22001


как бы это решить ?
...
Рейтинг: 0 / 0
29.07.2008, 16:41
    #35458492
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
а, и еще - процедура вызывается через .NET веб сервис, через ODBC

если же процедуру вызвать через клиент - Quest например, всё срабатывает нормально
...
Рейтинг: 0 / 0
29.07.2008, 22:10
    #35459052
Victor Metelitsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
Смахивает на проблему с кодировкой. В самом деле, судя по тому, что вы написали, обвинить больше нечего. Быть может, оно пытается пропихнуть Unicode (utf-8), когда ожидается Windows-1251, поэтому в случае русского строка оказывается слишком длинной, что и приводит к приведённой выше ошибке.

Но почему у вас используется неправильная кодировка, (мне) сложно понять дистанционно (с .Net не имел дела, с ODBC же проблем не было). Наверное, надо как следует покопаться в настройках подключения - и вашей программы, и клиентского обеспечения DB2.
...
Рейтинг: 0 / 0
30.07.2008, 08:15
    #35459274
GVF112GVF
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
Marvin_ruвызов db2 процедуры со строковым параметром, в котором используется кириллица приводит к ошибке :

call ONE_SCHEMA.ins_prib_k('PR','657803','A','515151511',5,1100,'20','1',2111,'ЭА717818','864300','242005','100001','13134131','05','1222',' ','ОАО СИНТЕЗ','1900-01-01-00.00.00.000000',0,0,0,0,' ',' ',' ',' ','1900-01-01-00.00.00.000000',0,0,' ',' ',' ',' ',' ',' ',' ',0,' ',0,'0',' ','96969696','2008-07-17-14.42.00.000000',0)

ERROR [22001] [IBM][CLI Driver] CLI0109E Строка усечена справа. SQLSTATE=22001


как бы это решить ?

Если вызов идет из консольного приложения - тогда попробуй установить для командной строки
кодовую страницу как в базе (возможно и для ODBC). Если проблема не уйдет, тогда попробуй создать тестовую базу с поддержкой юникод.

С уважением,
Вадим.
...
Рейтинг: 0 / 0
30.07.2008, 10:21
    #35459505
mitek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
Такая хрень помнится вылезала периодически при работе через ODBC-драйвер с DB2/zOS (у вас не оно случаем ? ). Лечилось подборкой "правильной" версии db2-коннекта.
И почему через ODBC, а не через нативный DB2 .Net Data Provider ?
...
Рейтинг: 0 / 0
30.07.2008, 11:39
    #35459756
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
Попробовал поменять настройки ODBC - параметр CONNECTCODEPAGE. Не помогло.

Как бы узнать, в какой кодировке на сервер отсылается call ONE_SCHEMA.ins_prib_k(...) из Quest-а или из редактора комманд DB2, что он срабатывает нормально ?


mitekТакая хрень помнится вылезала периодически при работе через ODBC-драйвер с DB2/zOS (у вас не оно случаем ? ). Лечилось подборкой "правильной" версии db2-коннекта.
И почему через ODBC, а не через нативный DB2 .Net Data Provider ?

какая операционная система на db2 сервере пока не известно. Версия db2-коннекта - это версия DB2 .Net Data Provider-а ?

насчет выбора ODBC - оно универсально, DB2 .Net Data Provider - только для дб2
...
Рейтинг: 0 / 0
30.07.2008, 12:21
    #35459936
mitek
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
Marvin_ru
Как бы узнать, в какой кодировке на сервер отсылается call ONE_SCHEMA.ins_prib_k(...) из Quest-а или из редактора комманд DB2, что он срабатывает нормально ?

ODBC-трассировку включить ?

Marvin_ru
какая операционная система на db2 сервере пока не известно. Версия db2-коннекта - это версия DB2 .Net Data Provider-а ?


из СLP соединиться с базой и в приглашении оно вам покажет версию и платформу.
db2-коннект это DB2 Connect Personal (или Enterprise) Edition. С ним соответственно ставятся и ODBC- и JDBC-драйверы и .Net-провайдер

Marvin_ru
насчет выбора ODBC - оно универсально, DB2 .Net Data Provider - только для дб2

ну процедура-то у вас все равно в DB2, так почему бы не попробовать.
...
Рейтинг: 0 / 0
31.07.2008, 15:52
    #35463557
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
попробовал через DB2 .Net Data Provider

возвращается та же ошибка. Русские буквы раскодируются как то так, что результат не помещается в поле.

Если же помещается, русский выглядит так : 'ОÐ�О СИÐ�ТЕЗ '
...
Рейтинг: 0 / 0
31.07.2008, 17:27
    #35463895
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
вообще, в какой кодировке я бы не посылал кириллицу, она преобразовывается в крякозябры одного и того же типа
...
Рейтинг: 0 / 0
28.08.2008, 12:18
    #35510524
Marvin_ru
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
еще один симптом : если из вебсервиса отсылать не вызов процедуры, вставляющей данные в таблицу, а делать непосредственно инсерт, данные на кириллице вставляются правильно

тоесть скорее всего перекодировка в крякозябры происходит в момент передачи данных в процедуру
...
Рейтинг: 0 / 0
28.08.2008, 20:49
    #35511902
xz321
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Ошибка CLI0109E при вызове функции с русскими параметрами
в db2cli.ini DISABLEUNICODE=1
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Ошибка CLI0109E при вызове функции с русскими параметрами / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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