अपने प्रदाता से डेटा फ़ाइल को ठीक करने के लिए कहना एक विकल्प नहीं हो सकता है, लेकिन मुझे अंततः एक समाधान मिला जिसके लिए आपको सभी फ़ील्ड के बजाय प्रत्येक फ़ील्ड के लिए अपना "संलग्न" वर्ण निर्दिष्ट करने के लिए अपनी नियंत्रण फ़ाइल को थोड़ा अपडेट करना होगा।
मेरे मामले के लिए, मेरे पास एक मुद्दा था जहां अगर [first_name] फ़ील्ड डबल-कोट्स के साथ एक उपनाम लपेटकर आया तो यह लोड नहीं होगा। (ईजी:जोनाथन "जॉन")। डेटा फ़ाइल में नाम "जोनाथन "जॉन"" के रूप में दिखाया गया था। तो "संलग्न" एक त्रुटि फेंक रहा था क्योंकि मूल्य के चारों ओर डबल कोट्स थे और वैल्यू ("जॉन") के हिस्से के आसपास डबल कोट्स थे। इसलिए यह निर्दिष्ट करने के बजाय कि मान को दोहरे उद्धरण चिह्नों द्वारा संलग्न किया जाना चाहिए, मैंने उसे छोड़ दिया और स्ट्रिंग से उद्धरणों को मैन्युअल रूप से हटा दिया।
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 '"'
)