首页 > 解决方案 > Netezza 将 csv 作为空表导入

问题描述

我正在使用 INSERT INTO 命令将 CSV 文件导入 Netezza:

INSERT INTO MY_TABLE
    SELECT
        *
    FROM EXTERNAL 'C:\\file.csv'
    USING (
        REMOTESOURCE 'ODBC'
        DELIMITER ','
        MAXERRORS 100000
        SKIPROWS 1
        ESCAPECHAR '\'
    )
;

Netezza“成功”完成了任务,即没有出现错误。但是,根本不导入数据。在 1000 行中,只有 100 行被导入,并且没有任何内容包含任何内容。

我按照在Netezza CSV 加载中找到的代码

我也尝试通过外部表导入数据,但以同样的方式再次失败。

我是否遗漏了一些东西,例如一些关键参数?这个过程以前没有问题。我认为我尝试导入的 csv 文件没有任何问题。

标签: csvimportnetezza

解决方案


根据您提供的链接,我看到两个可能需要的参数。还有可能产生影响的轻微格式更改。

INSERT INTO MY_TABLE
SELECT * FROM 
EXTERNAL 'C:\\file.csv'
USING 
(
    DELIMITER ','
    MAXERRORS 100000
    SKIPROWS 1
    Y2BASE 2000
    ENCODING 'internal'
    REMOTESOURCE 'ODBC'
    ESCAPECHAR '\'
    QUOTEDVALUE 'DOUBLE'
)

IBM 还有一个数据加载指南,可以在此处找到。


推荐阅读