Разделитель столбцов с помощью 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