¥ विभाजक के साथ एक यूटीएफ -8 फ़ाइल लोड करने का प्रयास करते समय, यह चरित्र को पाता है जब यह फ़ील्ड को अलग नहीं करता है। हमें स्तंभ आकार से अधिक मान से ओआरए-128 99 त्रुटि मिलती है, क्योंकि यह पूरी पंक्ति को पहले कॉलम में रखने की कोशिश करती है।एसक्यूएल * लोडर डिलीमीटर को पहचान नहीं करता है "¥"
UTF-8 में, ¥Â ¥ (C2A5) है, लेकिन यह है कि यह C2C2A5 खोजने की कोशिश कर रहा है लगता है।
डेटाबेस सेटिंग्स
NLS_LANGUAGE SPANISH
NLS_TERRITORY SPAIN
NLS_CURRENCY ?
NLS_ISO_CURRENCY SPAIN
NLS_NUMERIC_CHARACTERS ,.
NLS_CHARACTERSET WE8ISO8859P15
NLS_CALENDAR GREGORIAN
NLS_DATE_FORMAT DD/MM/RR
NLS_DATE_LANGUAGE SPANISH
NLS_SORT SPANISH
NLS_TIME_FORMAT HH24:MI:SSXFF
NLS_TIMESTAMP_FORMAT DD/MM/RR HH24:MI:SSXFF
NLS_TIME_TZ_FORMAT HH24:MI:SSXFF TZR
NLS_TIMESTAMP_TZ_FORMAT DD/MM/RR HH24:MI:SSXFF TZR
NLS_DUAL_CURRENCY ?
NLS_COMP BINARY
NLS_LENGTH_SEMANTICS BYTE
NLS_NCHAR_CONV_EXCP FALSE
NLS_NCHAR_CHARACTERSET AL16UTF16
NLS_RDBMS_VERSION 11.2.0.3.0
हम साथ की कोशिश की है इस प्रकार हैं:
NLS_LANG=AMERICAN_AMERICA.WE8ISO8859P1
NLS_LANG=SPANISH_SPAIN.WE8MSWIN1252
हम स्पेनिश वातावरण के साथ विंडोज 7 मशीन पर एक कमांड विंडो से एसक्यूएल * लोडर चल रहे हैं।
नियंत्रण फ़ाइल:
LOAD DATA
CHARACTERSET UTF8
INFILE 'C:\tmp\xxxy.txt'
BADFILE 'C:\tmp\xxxy.bad'
TRUNCATE INTO TABLE SAMPLE.TEST_CAR_VENCIMI_INTERMED
fields terminated by "¥"
TRAILING NULLCOLS
(
CODE CHAR "upper(ltrim(rtrim(:CODE)))",
CIF CHAR "upper(ltrim(rtrim(:CIF)))",
CODIGO_PRESTAMO CHAR "upper(ltrim(rtrim(:CODIGO_PRESTAMO)))"
)
नमूना डेटा फ़ाइल:
21AK0100¥P11111111F¥910002¥000000000106013.64¥666666666¥[email protected]¥address¥11111¥Name¥Surname 1¥Surname 2¥[email protected]¥666666666
एक शुरुआती बिंदु के रूप में, धारणा पर यह लाइन के नीचे कहीं उलझन में है, आपका डेटाबेस चरित्र सेट, एनएलएस_एलएएनजी सेटिंग, और ओएस कैरेक्टरेट क्या हैं? क्या आप एक उदाहरण नियंत्रण फ़ाइल और डमी डेटा जोड़ सकते हैं जो समस्या का प्रदर्शन करता है? या यदि फ़ाइल को सर्वर पर रखा जा सकता है, तो क्या आप SQL \ * लोडर की बजाय बाहरी तालिका का उपयोग करके स्वीकार कर सकते हैं? –
कृपया उस जानकारी को एक संपादन के रूप में जोड़ने के लिए इसे पढ़ने योग्य बनाने के लिए स्वरूपित किया जा सकता है, टिप्पणी के रूप में नहीं। आपको ऑपरेटिंग सिस्टम charaterset भी, और आपके NLS_LANG पर्यावरण चर की आवश्यकता है। (या SQL \ * प्लस से nls_session_parameters उसी खाते पर चल रहे हैं जो आप SQL \ * लोडर चला रहे हैं, लेकिन NLS_LANG छोटा है) –
धन्यवाद @AlexPoole, मैंने – luis