игнорирование символа конца строки в файле DAT в команде импорта DB2 при загрузке данных - PullRequest
1 голос
/ 16 ноября 2011

У меня есть файл данных, содержащий данные.Строка из файла выглядит следующим образом:

HHHH-III|AAAA0000536101|2011/11/16|0100002MM000

Эти данные загружаются в таблицу DB2 с помощью команды импорта db2.

Проблема: последнее поле в данных загружается вместе с символом «новой строки» в конце строки в файле данных, т.е. 0100002MM000 загружается с каким-то невидимым символом в конце.

То же поле загружается в другую таблицу из другого файла.Но в другом файле данных он находится в центре где-то в строке, как показано ниже:

2011/11/16|0100002MM000|HHHH-III|AAAA|BBBBB|KDKDKDKDDKD MANAGED|C

Так что позже сравнивать 0100002MM000 из первой таблицы с 0100002MM000 во второй таблице не удается.

Как решить эту проблему?

Так что в этом случае,

Ответы [ 2 ]

3 голосов
/ 16 ноября 2011

Возможно ли, что в файле есть разделители строк "\ r \ n" (CRLF) Windows, и при импорте ожидаются терминаторы "\ n" Unix, поэтому в конце импортируется символ "\ r"?Если это так, то это просто преобразование файла в формат Unix - для этого есть множество инструментов, или вы можете сделать это достаточно легко программно.

Проверьте, так ли это, открывфайл в бинарном редакторе файлов и смотрит на терминатор строки - если он использует 0x0D 0x0A (или эквивалент UTF-16), то это терминатор строки Windows.Даже если это , а не , поиск в редакторе двоичных файлов покажет вам, что означает в конце строки - возможно, есть нулевой символ (0x00), который каким-то образом туда попал,Если это так, опять же, это должно быть легко раздеться, но вы должны посмотреть, сможете ли вы избежать проблемы в первую очередь, исправив код, который генерирует файл для начала.(Это может быть вне вашего контроля, но может и не быть.)

0 голосов
/ 16 ноября 2011

Возможно, ваши данные не имеют такую ​​же структуру, как структура DB2 по умолчанию. Вы должны переопределить это поведение, указав более подробно. Взгляни на http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.cmd.doc/doc/r0008304.html

Также есть ссылка, которая рассказывает обо всех этих проблемах при импорте файлов DEL с разными разделителями: http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.admin.dm.doc/doc/r0011047.html

...