|
DB2 truncate varchar in sql: insert into(select * from...)
|
|||
---|---|---|---|
#18+
Здравствуйте. Стоит задача перенести данные таблиц с DB2v8 for Z/OS в DB2v10.5 for AIX. Подключил к DB2v10.5 for AIX nickname от DB2v8 for Z/OS. Кодировка таблиц в DB2 for Z/OS: CCSID ASCII Кодировка в DB2 for AIX: UTF-8. Предварительно, на DB2 for AIX во всех столбцах всех таблиц увеличил поля с типом CHAR,VARCHAR в 2 раза. Затем запускаю SQL запрос в DB2 for AIX вида: insert into MYSCHEMA.TABLE1 (select * from MYSCHEMA.NICKNAME_TABLE1); Однако в столбцах с типом VARCHAR данные перенеслись у урезанном виде: Т.е слова пообрезались в этих столбцах на половину или даже больше. Почему так произошло и как это исправить? Ведь я перед переносом данных и так в 2 раза поувеличивал столбцы с типом: CHAR,VARCHAR? ... |
|||
:
Нравится:
Не нравится:
|
|||
28.09.2016, 18:55 |
|
DB2 truncate varchar in sql: insert into(select * from...)
|
|||
---|---|---|---|
#18+
Важное дополнение: Когда пытаюсь вывести содерживое таблицы DB2 for Z/OS из DB2 for AIX: select * from MYSCHEMA.NICKNAME_TABLE1 то данные в столбцах VARCHAR выводятся уже обрезанными. Т.е проблемма не в том, что я недостаточно расширил столбцы CHAR,VARCHAR в таблицых DB2 for AIX. Т.е протокол DRDA почему-то обрезает. ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 09:39 |
|
DB2 truncate varchar in sql: insert into(select * from...)
|
|||
---|---|---|---|
#18+
И еще одно дополнение: 1. Обрезаются все данные с типом CHAR,VARCHAR в 2 раза. 2. Когда я создал еще одну базу данных на AIX: db2 create db MYDB2 USING CODESET 1251 TERRITORY RU; и подключил nicknam-ы от базы DB2 for Z/OS, то столбцы перестали обрезаться! И как сейчас решить проблемму? Т.е скопировать все данные в MYDB2 а потом поменять кодировку с CODESET 1251 на CODESET UTF-8 ? ... |
|||
:
Нравится:
Не нравится:
|
|||
29.09.2016, 15:38 |
|
DB2 truncate varchar in sql: insert into(select * from...)
|
|||
---|---|---|---|
#18+
curious_man, NVARCHAR не пробовали? ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 11:05 |
|
DB2 truncate varchar in sql: insert into(select * from...)
|
|||
---|---|---|---|
#18+
curious_man, Код: sql 1.
или, соответственно, VARCHAR. Данные в CHAR/VARCHAR в никнеймах только в OCTETS. Список никнеймов и колонок 0- SYSCAT.TABLES (TYPE = 'N'), SYSCAT.COLUMNS. Сгенерите набор альтеров запросом. ... |
|||
:
Нравится:
Не нравится:
|
|||
30.09.2016, 14:28 |
|
|
start [/forum/topic.php?fid=43&fpage=12&tid=1600536]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
36ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 130ms |
0 / 0 |