Oracle
 sql >> डेटाबेस >  >> RDS >> Oracle

ORA-01401:कॉलम CHAR के लिए डाला गया मान बहुत बड़ा है

आपकी डेटा फ़ाइल में अतिरिक्त, अदृश्य वर्ण हैं। हम मूल को नहीं देख सकते हैं लेकिन संभवतः इसे विंडोज़ में बनाया गया था और इसमें सीआरएलएफ नई लाइन विभाजक; और आप UNIX/Linux वातावरण में SQL*Loader चला रहे हैं जो केवल लाइन फीड (LF) की अपेक्षा कर रहा है। कैरिज रिटर्न (सीआर) वर्ण अभी भी फ़ाइल में हैं, और Oracle उन्हें फ़ाइल में ज़िप फ़ील्ड के भाग के रूप में देख रहा है।

अंतिम पंक्ति में CRLF (या कोई नई-पंक्ति मार्कर) नहीं है, इसलिए उस पंक्ति पर - और केवल वह पंक्ति - ज़िप फ़ील्ड को 5 वर्णों के रूप में देखा जा रहा है, अन्य सभी के लिए इसे छह के रूप में देखा जा रहा है, उदा। 98001^M

आप दस्तावेज़ में डिफ़ॉल्ट व्यवहार के बारे में अधिक पढ़ सकते हैं :

यदि आप डेटा फ़ाइल को vi या vim जैसे संपादन में खोलते हैं, तो आपको वे अतिरिक्त ^M दिखाई देंगे नियंत्रण वर्ण।

इसे ठीक करने के कई तरीके हैं। आप फ़ाइल को संशोधित कर सकते हैं; ऐसा करने के लिए सबसे आसान काम है डेटा को उस वातावरण में बनाई गई नई फ़ाइल में कॉपी और पेस्ट करें जिसमें आप SQL*Loader चलाएंगे। यदि आप चाहें तो लाइन एंडिंग्स को कनवर्ट करने के लिए उपयोगिताएं हैं, उदा। dos2unix . या आपका विंडोज एडिटर बिना सीआर के फाइल को सेव करने में सक्षम हो सकता है। जैसा कि डिट्टो ने सुझाव दिया था, आप डेटा फ़ाइल में एक अतिरिक्त फ़ील्ड डिलीमीटर भी जोड़ सकते हैं।

या आप INFILE . को बदलकर SQL*Loader को CRLF की अपेक्षा करने के लिए कह सकते हैं पंक्ति:

LOAD DATA
INFILE Customer.dat "str '\r\n'"
INTO TABLE Customer
...

... हालांकि, यदि आप सीआर वर्णों के बिना, लिनक्स में बनाई गई फ़ाइल की आपूर्ति करते हैं तो यह समस्या पैदा करेगा।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle में एक तिथि के लिए सामान्य संकेतक जोड़ें

  2. IN पैरामीटर के रूप में तालिका प्रकार के साथ संग्रहीत कार्यविधि का उपयोग करके Varchar2 डेटा सम्मिलित करने में असमर्थ

  3. Oracle में डुप्लिकेट पंक्तियों का चयन करने के 6 तरीके

  4. .net में Windows सेवा tns सेवा नाम का समाधान नहीं कर सकती है

  5. Oracle SQL स्टेटमेंट डायनेमिक स्कीमा वैरिएबल