将CSV文件中的532列加载到DB2表中

时间:2010-12-23 09:16:07

标签: database csv import db2

摘要:可以从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.  

我正在使用控制中心来运行查询,而不是命令提示符。

2 个答案:

答案 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

中的最大列数

尝试只导入一行。如果您遇到问题,可能是由于类型,列顺序,表中已存在的重复行不兼容。