摘要:可以从CSV文件导入/加载的列数是否有限制?如果是,那么解决方法是什么?感谢
我是DB2的新手,我应该导入一个| (管道)分隔的csv文件,其中包含532列到DB2表中,该表还具有532列作为csv的确切位置。我还有一个较小的文件,在csv和table中只有27列。我使用以下命令:
IMPORT FROM "C:\myfile.csv" OF DEL MODIFIED BY COLDEL| METHOD P (1, 2,....27) MESSAGES "C:\messages.txt" INSERT INTO PRE_SUBS_GPRS2_1010 (col1,col2,....col27);
这很好用。
但是在第二个文件中,就像:
IMPORT FROM "C:\myfile.csv" OF DEL MODIFIED BY COLDEL| METHOD P (1, 2,....532) MESSAGES "C:\messages.txt" INSERT INTO PRE_SUBS_GPRS_1010 (col1,col2,....col532);
它不起作用。它给我一个错误说:
SQL3037N An SQL error "-206" occurred during Import processing.
Explanation:
An SQL error occurred during processing of the Action String (for
example, "REPLACE into ...") parameter.
The command cannot be processed.
User Response:
Look at the SQLCODE (message number) in the message for more
information. Make changes and resubmit the command.
我正在使用控制中心来运行查询,而不是命令提示符。
答案 0 :(得分:1)
问题是因为INSERT语句的列列表中的一个列名长度超过30个字符。它被截断,无法识别。
希望这有助于将来的其他人。如果您需要更多详细信息,请与我们联系。
答案 1 :(得分:0)
具体的错误代码是SQL0206,此处有关于此错误的文档 http://publib.boulder.ibm.com/infocenter/db2luw/v9r7/topic/com.ibm.db2.luw.messages.sql.doc/doc/msql00206n.html
对于限制,我认为导入中的最大列数应该是表允许的最大数量。看看信息中心 数据库基础> SQL> SQL和XML限制 表7 1012
中的最大列数尝试只导入一行。如果您遇到问题,可能是由于类型,列顺序,表中已存在的重复行不兼容。