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

Sql लोडर - दूसरा संलग्नक स्ट्रिंग मौजूद नहीं है

यदि आपका अंतिम फ़ील्ड हमेशा मौजूद रहता है (हालांकि trailing nullcols सुझाव है कि यह नहीं है) और स्वरूपण पर आपका कुछ नियंत्रण है, आप CONTINUEIF दूसरी पंक्ति को उसी तार्किक रिकॉर्ड के हिस्से के रूप में मानने का निर्देश।

अगर comments फ़ील्ड हमेशा मौजूद है और दोहरे उद्धरण चिह्नों में संलग्न है तो आप यह कर सकते हैं:

...
truncate
continueif last != x'22'
into table ...

जो डेटा रिकॉर्ड को हैंडल करेगा जैसे:

S;Y;"Test 1"
F;N;"Test 2"
P;Y;"Test with
new line"
P;N;""

या यदि आपके पास टिप्पणी फ़ील्ड के बाद हमेशा एक सीमांकक होता है, चाहे वह आबाद हो या नहीं:

...
truncate
continueif last != ';'
into table ...

कौन संभालेगा:

S;Y;Test 1;
F;N;"Test 2";
P;Y;Test with
new line;
P;N;;

दोनों तरीके डेटा को इस प्रकार लोड करेंगे:

S M COMMENTS
- - ------------------------------
S Y Test 1
F N Test 2
P Y Test withnew line
P N

लेकिन यह डेटा से नई लाइन खो देता है। इसे बनाए रखने के लिए आपको टर्मिनेटिंग फील्ड डिलीमीटर मौजूद होना चाहिए, और इसके बजाय CONTINUEIF आप रिकॉर्ड विभाजक को स्ट्रीम रिकॉर्ड प्रारूप का उपयोग करके बदल सकते हैं :

...
infile 'C:\Users\lab.csv' "str ';\n'"
truncate
into table ...

"str ';\n'" टर्मिनेटर को फील्ड टर्मिनेटर और एक नए लाइन कैरेक्टर के संयोजन के रूप में परिभाषित करता है। आपकी विभाजित टिप्पणी में केवल अंतिम पंक्ति पर वह संयोजन है। पिछले संस्करण के समान डेटा फ़ाइल के साथ, यह देता है:

S M COMMENTS
- - ------------------------------
S Y Test 1
F N Test 2
P Y Test with
    new line

P N

4 rows selected.

चूंकि आप विंडोज़ पर हैं, इसलिए आपको \r . शामिल करना पड़ सकता है प्रारूप में भी, उदा। "str ';\r\n'" , लेकिन मैं इसकी जांच नहीं कर पा रहा हूं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. पीएल/एसक्यूएल में फॉर्म-डेटा और पैरामीटर के साथ एक पोस्ट अनुरोध कैसे भेजा जाए

  2. एसएसआईएस पैकेजों को सहेजने में विफल रहा और विजुअल स्टूडियो को रीबूट करता है

  3. Oracle Apps R12 में SSL या TLS को सक्षम करना

  4. oracle jdbc क्लाइंट के लिए डिफ़ॉल्ट nls_date_format कैसे बदलें?

  5. SAP ABAP सिस्टम से डेटा कैसे निकालें?