2016-04-06 39 views
2

我們是netezza的新手,目前正試圖通過腳本將一個CSV文件導入netezza。Netezza CSV加載

什麼是最好的方式來得到這個工作。

理想情況下,我們想 1)創建表結構,我們希望 2)導入CSV和映射CSV列名的stucture我們要

於一體的進口。

此代碼帶回錯誤:嚮導作品達到最大

INSERT INTO DBO.TABLE 
SELECT * FROM 
EXTERNAL 'C:\\log\\FILE.csv' 
USING 
(
DELIMITER ',' 
MAXROWS 300 
logdir 'C:\log' 
SKIPROWS 1 
Y2BASE 2000 
ENCODING 'internal' 
REMOTESOURCE 'ODBC' 
ESCAPECHAR '\' 
) 

導入錯誤輸入行的計數,但我們不能自動完成這個

是Nzload要走的路?如果是這樣最好的做法是什麼?

- EDIT 我們已將此問題歸結爲我們正在導入的某些字段中的逗號以及導入腳本中未指定文本限定符。

我們該如何指定?

+0

當你說「通過導入嚮導」你的意思是在Aginity工作臺提供的工具? – ScottMcG

回答

1

一般來說,當您的數據中存在您的記錄分隔符時,您需要確保它使用反斜槓進行轉義。但是,您可以使用選項加載CSV數據以允許列數據的雙引號(Netezza通常不需要)。

改變你的代碼,以將此外部表選項:QUOTEDVALUE「雙師型」

INSERT INTO DBO.TABLE 
SELECT * FROM 
EXTERNAL 'C:\\log\\FILE.csv' 
USING 
(
DELIMITER ',' 
MAXROWS 300 
logdir 'C:\log' 
SKIPROWS 1 
Y2BASE 2000 
ENCODING 'internal' 
REMOTESOURCE 'ODBC' 
ESCAPECHAR '\' 
QUOTEDVALUE 'DOUBLE' 
)