我使用EXTERNAL TABLE从文本文件中将数据批量加载到Netezza中,并在将数据加载到外部表后,我正在更新同一外部表中的那些列,因为您无法更新外部表我必须暂存所有数据从外部表到一个临时表,我能够做更新,而有没有其他方法可以直接将文本文件数据批量加载到表而不是Netezza中的外部表?
答案 0 :(得分:5)
如果您使用的是直接ODBC。我会考虑一个“瞬态外部表”
INSERT INTO target_table SELECT * FROM EXTERNAL 'C:\FileName.txt'
using( delim '|' datestyle 'MDY' datedelim '/' REMOTESOURCE 'ODBC' MAXERRORS 50
LOGDIR 'C:\');
答案 1 :(得分:1)
查看nzload
http://www.enzeecommunity.com/message/12759
实施例: 要使用密码生成作为用户admin加载数据库dev,请使用制表符分隔符指定表名isacode,并将输入文件指定为phone-prefix。 dat,输入:
nzload -u admin -pw production -db dev -t isacode -delim'\ t'-df 电话prefix.dat
答案 2 :(得分:0)
尝试nzload,正如@cairnz所说。此外,如果要通过ODBC进行连接,则可以使用REMOTESOURCE ODBC
选项从文本文件加载到表中,从而绕过创建单独的外部表。请查看IBM提供的Netezza数据加载指南PDF。