2010-12-23 109 views
0

摘要:从CSV文件中导入/加载的列数是否有限制?如果是,解决方法是什么?谢谢将CSV文件中的532列加载到DB2表中

我对DB2很新,而且我应该导入| (管道)将包含532列的csv文件分隔到一个DB2表中,该表中的csv的确切位置也包含532列。我也有一个较小的文件,在csv和表格中只有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

指定的错误代码是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

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

1

问题是因为INSERT语句的列列表中的一个列名超过30个字符长。它被截断并且不被识别。

希望这可以帮助他人在未来。如果您需要更多详细信息,请告诉我。