Я работаю над проблемой обновления данных.
В нашу существующую таблицу DB2 добавлен новый столбец.
Чтобы обновить таблицу DB2 клиента, я выгружаю данные изсуществующая таблица DB2 с постоянным значением для нового столбца (скажем, D типа SMALLINT), как показано ниже:
UNLOAD TABLESPACE XYZ.ABC
DELIMITED COLDEL X'2C' CHARDEL X'22'
PUNCHDDN SYSPUN01
UNLDDN SYSREC01 CCSID(367)
FROM TABLE DB2BG111.table_name
(
A POSITION(*) CHAR(2)
, B POSITION(*) SMALLINT
, C POSITION(*) CHAR(4)
, D (new column) CONSTANT X'0000'
)
При выгрузке данных мы используем следующие параметры выгрузки:
X'2C': Column Delimiter
X'22': Character Delimiter
CCSID(367): EBCDIC to ASCII conversion
Проблема, с которой я сталкиваюсь, заключается в том, что DB2 добавляет символьный разделитель X'22 'после значения столбца D в записи выгрузки.
Обратите внимание, что столбец B - это существующий столбец, который объявлен как SMALLINT, DB2 не добавляет для этого символа del в записи выгрузки.
Это может происходить из-за того, что добавленный здесь новый столбец D не объявлен как SMALLINT, и, следовательно, он не обрабатывается как SMALLINT, и DB2 заканчивает ввод этого символа в записи выгрузки.
Я просто ищу способ выхода из этой ситуации, я не хочу, чтобы мой новый столбец D был разделен символами в записи unload.
Любые предложения по преодолению этой проблемы будут высоко оценены.