2016-04-06 17 views
2

私たちはnetezzaの新機能で、現在スクリプトを介してCSVファイルをnetezzaにインポートしようとしています。Netezza CSVのロード

これを行うには、どのような方法が最適ですか。

は、理想的には私たちは、すべて1つのインポートに

をしたい、我々は 2)CSVをインポートし、stuctureにCSVの列名をマッピングしたい 1)テーブル構造を作成したいと思います。

このコードは、エラーを戻します:悪い入力行のカウントは、ウィザードの作品でインポートする最大

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 Workbenchで提供されるツールを意味していますか? – ScottMcG

答えて

1

一般的に言えば、データにレコード区切り文字がある場合は、バックスラッシュでエスケープされていることを確認してください。ただし、カラムデータ(通常はNetezzaでは必要ない)を二重引用符で囲むオプションを使用して、CSVデータをロードすることができます。

は、この外部表オプションを含めるようにコードを変更:QUOTEDVALUE「DOUBLE」

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' 
) 
関連する問題