Я работаю над проблемой обновления данных.
В нашу существующую таблицу 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 заканчивает char del для этого в записи выгрузки.
Я просто ищу способ выйти из этой ситуации, я не хочу, чтобы мой новый столбец D был разделен символами в записи выгрузки.
Мы будем очень благодарны за любые предложения по преодолению этого.
UNLOAD
считает, что это строка, он предположительно добавит вокруг нее разделители символов. - person Paul Vernon   schedule 03.10.2019