Гость
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 v10.5 DRDA failed to copy table with clob(1M) / 7 сообщений из 7, страница 1 из 1
18.10.2017, 17:11
    #39538285
curious_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 v10.5 DRDA failed to copy table with clob(1M)
Здравствуйте.
Пытаюсь скопировать данные из DB2v10.1 for Windows в DB2v10.5 for Linux через DRDA.
Копирую из под Linux:
insert into WIN.DOCUMENT_SIGN (select * from NICKNAME.DOCUMENT_SIGN );

Однако появляется ошибка:
Lookup Error - DB2 Database Error: ERROR [58004] [IBM][DB2/LINUXX8664] SQL0901N The SQL statement or command failed because of a database system error. (Reason "real column length exceeds max length".)

Вот таблица, которая переноситься:
CREATE TABLE WIN.DOCUMENT_SIGN (
"DOCUMENT#UN" INTEGER NOT NULL,
NPP INTEGER NOT NULL,
"USER#UN" INTEGER,
STATE INTEGER,
COMMENT VARCHAR(512),
TEXT LONG VARCHAR,
SIGN LONG VARCHAR,
"DOCUMENT_OWNER#UN" INTEGER,
"DOCUMENT_AGRR_OWNER#UN" INTEGER,
DATE TIMESTAMP,
TEXT_FOOTER LONG VARCHAR,
"IO_POST#UN" INTEGER,
"DOC_AGR#UN" INTEGER,
JOURNAL_TRACE VARCHAR(512),
TEXT2 CLOB(1M) INLINE LENGTH 164 LOGGED NOT COMPACT
)
IN USERSPACE1;

Прикрепляю журнал db2diag.log в момент запуска вставки.
...
Рейтинг: 0 / 0
18.10.2017, 17:13
    #39538289
curious_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 v10.5 DRDA failed to copy table with clob(1M)
Пробовал на Linux увеличить CLOB значение до 2M. Не помогло.
...
Рейтинг: 0 / 0
18.10.2017, 21:08
    #39538410
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 v10.5 DRDA failed to copy table with clob(1M)
curious_man,

Добрый день.

Какие кодовые страницы баз и длины полей никнейма?
Select без insert работает?
...
Рейтинг: 0 / 0
19.10.2017, 09:15
    #39538503
curious_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 v10.5 DRDA failed to copy table with clob(1M)
Mark Barinstein,

DB2 for Windows:
CODESET -> 1251
CODEPAGE -> 1251

DB2 for Linux:
CODESET -> UTF-8
CODEPAGE -> 1208

А что понимается под длиной полей nickname?
Если длина столбцов таблицы WIN.DOCUMENT_SIGN, то DDL этой таблицы я уже привел выше.

При попытке выполнить select * from NICKNAME.DOCUMENT_SIGN;
в Linux-e выдает ошибку:
Lookup Error - DB2 Database Error: ERROR [58004] [IBM][DB2/LINUXX8664]
SQL0901N The SQL statement or command failed because of a database system error. (Reason "real column length exceeds max length".)
...
Рейтинг: 0 / 0
19.10.2017, 11:08
    #39538550
curious_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 v10.5 DRDA failed to copy table with clob(1M)
Mark Barinstein,

Пересоздал базу так:
db2 CREATE DATABASE MYDB USING CODESET 1251 TERRITORY RU COLLATE USING SYSTEM

И проблема решена. Спасибо!
...
Рейтинг: 0 / 0
19.10.2017, 12:00
    #39538593
Mark Barinstein
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 v10.5 DRDA failed to copy table with clob(1M)
curious_manDB2 for Windows:
CODESET -> 1251
CODEPAGE -> 1251

DB2 for Linux:
CODESET -> UTF-8
CODEPAGE -> 1208Вы когда создаете nickname, то в локальную базу записываются имена и типы полей.
В UTF-8 базе некоторые символы могут занимать более 1 байта.
Попробуйте:
Код: sql
1.
ALTER NICKNAME NICKNAME.DOCUMENT_SIGN ALTER TEXT2 LOCAL TYPE CLOB(2M)
...
Рейтинг: 0 / 0
19.10.2017, 15:16
    #39538787
curious_man
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
DB2 v10.5 DRDA failed to copy table with clob(1M)
Mark Barinstein,

Да, и это помогло. Спасибо.
...
Рейтинг: 0 / 0
Форумы / IBM DB2, WebSphere, IMS, U2 [игнор отключен] [закрыт для гостей] / DB2 v10.5 DRDA failed to copy table with clob(1M) / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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