Разделитель столбцов с помощью CLPPlus

Я пытаюсь импортировать файл с помощью инструмента DB2 CLPPlus, как показано ниже:

cat outfile
1;"a";"b"
2;"c";"d"

clpplus -nw
SQL> SET COLSEP ';';
SQL> CONNECT MYUSER/MYPWD@IP:PORT/BLUDB;
SQL> IMPORT FROM '/home/i1058/outfile' INSERT INTO USER1.TABLE3;
[jcc][1091][10404][3.69.66] Invalid data conversion: Parameter instance 1;a;b is invalid for the requested conversion. ERRORCODE=-4461, SQLSTATE=42815

В официальной документации DB2 для инструмента CLPPlus по команде IMPORT ( https://www.ibm.com/support/knowledgecenter/SSEPGG_11.1.0/com.ibm.swg.im.dbclient.clpplus.doc/doc/r0059535.html), мы видим следующее:

Данные могут быть импортированы только из файла с разделителями. Файл с разделителями может быть любого типа, например: .del, .ixf или.txt. Символ, является разделителем по умолчанию. Вы можете установить разделитель на другой символ с помощью команды SET CLPPlus.

Жирным шрифтом есть предложение, которое точно соответствует тому, что я хочу, но, к сожалению, оно не работает, или, может быть, я что-то пропустил. Может кто-нибудь, пожалуйста, помогите?

Спасибо и всего наилучшего, Стефан

1 ответ

Решение

Вам нужно установить delimiter опция для CLPPlus, не colsep:

SQL> show delimiter
Delimiter ,
SQL> SET delimiter ";"
SQL> IMPORT FROM '/home/i1058/outfile' INSERT INTO USER1.TABLE3;
Number of Rows Inserted:2
Другие вопросы по тегам