powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Db2 запрос с ":" - как сделать чтоб работало?!
19 сообщений из 19, страница 1 из 1
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891765
MistProgram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет, друзья!
Проблема в том, что при создании зарпоса к DB2 некорректно обрабатываются :.
Понимаю, что конечно же дело в том, что таким образом в запрос засовываются разные параметры и прочие штуки.
Вопрос: как сделать, чтобы : отрабатывался как символ 58, а не как служебный символ.
Вариант ||CHR(58)|| не проходит. ||X58|| тоже. cast (... as varchar(100)) тоже.
Prepare не пробовал, но мне нужно без prepare просто запросом.
Всё уже перепробовал.
А запрос вот такой:
insert into T1 (str1) values ('abc: def f _A')
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891774
MistProgram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
HTML пробелы съел. Реально между f и _A много пробелов (штук 15)
insert into T1 (str1) values ('abc: def f _A')
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891791
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
не пойму в чем собственно проблема?
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
connect to test

   Database Connection Information

 Database server        = DB2/NT  8 . 2 . 0 
 SQL authorization ID   = DB2ADMIN
 Local database alias   = TEST


create table ts ( id int not null, name char( 30 ), constraint pk primary key(id) )
DB20000I  The SQL command completed successfully.

insert into ts values ( 1 ,'abc: def f _A')
DB20000I  The SQL command completed successfully.

select * from ts

ID          NAME                          
----------- ------------------------------
           1  abc: def f _A                 

   1  record(s) selected.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891815
MistProgram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Я сам не понимаю. Вот что я пробую и не получается

insert into T1 (A) values ('NEWGATE: TEST ACCOUNT3 _A').

А потом пытаюсь вынуть назад. Вот что вываливается при попытке сдалать из вынутого XML:
java.lang.RuntimeException: NEWGATE: TEST ACCOUNT3 has illegal symbol with code 26

Во всех клиентах (Embarcadero, Quest Central for DB2) тоже _A кусок не виден.

DB2 8 под Винды. Вроде как не патченная.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891823
MistProgram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гы, а на солярке DB2 8 всё работает нормально...
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891848
MistProgram
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ситуация становится всё более запутанной. Вставляется видимо нормально всё , а вот вынуть не получается в случае использования драйвера DB2 напрямую. Embarcadero через ODBC вытаскивает строку нормально. Quest Central и Java JDBC Driver ver2 выдают без окончания и с этим дурацким символом 26. Так что что-то в выдаче данных через Native драйвер, блин...
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891853
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Что, даже из CLP не получается?... что-то не верится... У меня ни разу нигде такогоне наблюдалось. Похоже что ошибка где-то в другом месте.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32891960
MistProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Как забавно. Вот что выдаёт процессор командной строки DB2 ver 8.1.0
Две таблицы T1 & T2. В первой много записей, во второй- одна. Обратите внимание что выдаётся там где одна, т.е. для таблицы T2. Видно, что DB2 кривеет уже на физической структуре таблицы. ТАк что я думаю что проблемы с DB2 под винды. Или надо 8.2.0 поставить. Интерсно , что я такого сделал чтобы DB2 окривела?! ))))))))))))))))))))))))))))))))))))))))))))

db2 => select * from T1

A
----------------------------------------------------------------------------------------------------
NEWGATE: TEST ACCOUNT3 _A
NEWGATE: TEST ACCOUNT3 _A
NEWGATE: TEST ACCOUNT3 _A
NEWGATE:: TEST ACCOUNT3 _A
NEWGATE::TEST ACCOUNT3 _A
NEWGATE: TEST ACCOUNT3 _A
NEWGATE: TEST ACCOUNT767 _A

7 записей выбрано.

db2 => select * from T2

A








------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
------------------------------------------------------------------------------------------------------------------------
----------------------------------------
NEWGATE: TEST ACCOUNT3 _A









1 записей выбрано.

db2 =>
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892031
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А что выдаст:
Код: plaintext
1.
2.
describe table t1
describe table t2
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892065
MitProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gardenmanА что выдаст:
Код: plaintext
1.
2.
describe table t1
describe table t2


Да я просёк - он падит до 1000 символов. В общем комманд дул работает нормально. Проблема в явовском драйвере. Почему-то внутри этого
abc: qwqw re _A
он видит какой -то управляющий символ или что-то подобно.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892072
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как вариант, может что-нить с перекодировкой связано? к сожалению я в яве - пас! :(
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892096
MistProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Если бы перекодировка, тогда бы всё слово было бы кривое. А так только конец рубится. Плюс кириллицы вообще нет, так что тут скорее всего чисто.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892118
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На явовский драйвер тоже грешить не стоит. Command Center тоже на яве сделан. Из него ведь все нормально вставляется. Очевидно ошибка настолько дубовая и абсурдная что с первого взгляда даж и не видать. Свежий взгляд нужен.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892184
MistProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
gardenmanНа явовский драйвер тоже грешить не стоит. Command Center тоже на яве сделан. Из него ведь все нормально вставляется. Очевидно ошибка настолько дубовая и абсурдная что с первого взгляда даж и не видать. Свежий взгляд нужен.

Кажись нащупал. С оракла приходят данные. В них символ _ имеет код 142 , а не 95. В итоге проблемы. Попытаюсь понять, то ли в базе уже 26 из 142 сделано. Либо DB2 реально возвращает 142, а уже Java драйвер делает из 142 -> 26.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892442
MistProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Короче 142-й символ ложится в базу в неизветном виде. При селекте DB2 jdbc драйвером он уже 26-й, причём спереди и сзади символы в порядке , т.е. вместо [_] -> [chr(26)].

Грусто.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892456
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А данные Orcle->DB2 чем перегоняются?
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892459
gardenman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А кодировки в Оракле и ДБ2 совпадают?
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32892559
MistProgrammer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Честно говоря не знаю. Прилетают только дампы таблиц. А чёрт его знает, может из ворда cut&paste , вот и появляются такие вот штук. Английская контора, так что для них проблемы кодировки не существует, только Юникод-не юникод.
...
Рейтинг: 0 / 0
Db2 запрос с ":" - как сделать чтоб работало?!
    #32894225
nkulikov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Кстати после выхода 8-ки сразу вышел fp на jdbc driver. Так что сидеть на гольной 8.1 не очень правильно...
...
Рейтинг: 0 / 0
19 сообщений из 19, страница 1 из 1
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / Db2 запрос с ":" - как сделать чтоб работало?!
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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