CLPPlus 的列定界符

Column delimiter with 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

在CLPPlus工具的DB2官方文档中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 命令将分隔符设置为另一个字符。

加粗的有一句话和我想要的一模一样,可惜没有用,或者是我漏掉了什么。有人可以帮忙吗?

感谢和问候, 斯蒂芬

您需要为 CLPPlus 设置 delimiter 选项,而不是 colsep:

SQL> show delimiter
Delimiter ,
SQL> SET delimiter ";"
SQL> IMPORT FROM '/home/i1058/outfile' INSERT INTO USER1.TABLE3;
Number of Rows Inserted:2