Požádat vašeho poskytovatele o opravu datového souboru možná nepřipadá v úvahu, ale nakonec jsem našel řešení, které vyžaduje, abyste svůj kontrolní soubor mírně aktualizovali tak, aby pro každé pole namísto pro všechna pole specifikoval znak „uzavřený“.
V mém případě jsem měl problém, že pokud by pole [first_name] vstoupilo do dvojitých uvozovek zabalujících přezdívku, nenačetlo by se. (např. Jonathon "Jon"). V datovém souboru bylo jméno zobrazeno jako "Jonathon "Jon"" . Takže "uzavřený" vyvolal chybu, protože kolem hodnoty byly dvojité uvozovky a kolem části hodnoty ("Jon"). Takže místo určení, že hodnota by měla být uzavřena dvojitými uvozovkami, jsem to vynechal a pouze ručně odstranil uvozovky z řetězce.
Load Data
APPEND
INTO TABLE MyDataTable
fields terminated by "," ---- Noticed i omitted the "enclosed by"
TRAILING NULLCOLS
(
column1 enclosed by '"', --- Specified "enclosed by" here for all cols
column2 enclosed by '"',
FIRST_NAME "replace(substr(:FIRST_NAME,2, length(:FIRST_NAME)-2), chr(34) || chr(34), chr(34))", -- Omitted "enclosed by". substr removes doublequotes, replace fixes double quotes showing up twice. chr(34) is charcode for doublequote
column4 enclosed by '"',
column5 enclosed by '"'
)