2016-04-06 12 views
2

Wir sind neu bei Netezza und versuchen derzeit, eine CSV-Datei per Skript in Netezza zu importieren.Netezza CSV laden

Wie funktioniert das am besten?

Im Idealfall würden wir die Tabellenstruktur erstellen gerne 1) wollen wir 2), um die CSV-Import und die CSV-Spaltennamen der stucture bilden wir

wollen

alle in einem Import.

Dieser Code bringt den Fehler zurück: Anzahl der schlechten Eingabezeilen Maximum erreicht

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 '\' 
) 

Importieren von den Assistenten funktioniert, aber wir können nicht automatisieren diese

ist Nzload der Weg zu gehen? Wenn ja, was ist die beste Vorgehensweise dabei?

--EDIT Wir haben dieses Problem bis auf Kommas in einigen der Felder, die wir importieren, und kein Text-Qualifikationsmerkmal im Import-Skript angegeben.

Wie spezifizieren wir das?

+0

Wenn Sie sagen, „von Assistenten importieren“ tun Sie das Tool in Aginity Workbench zur Verfügung gestellt bedeuten? – ScottMcG

Antwort

1

Im Allgemeinen, wenn Ihr Datensatztrennzeichen in Ihren Daten vorhanden ist, sollten Sie sicherstellen, dass es mit einem umgekehrten Schrägstrich versehen ist. In Ihrem Fall können Sie CSV-Daten jedoch mithilfe einer Option laden, um doppelte Anführungszeichen um Spaltendaten herum zu ermöglichen (die Netezza normalerweise nicht benötigt).

Code ändern Fehlt diese externe Tabellenoption enthalten: 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' 
)