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

Oracle एपेक्स में फ़ाइलें आयात करना wwv_flow_files का उपयोग करना

मान लीजिए कि आप फ़ाइल ब्राउज़ पेज आइटम का उपयोग करके Oracle एपेक्स में कस्टम डेटाबेस प्रक्रिया के साथ एक csv फ़ाइल सामग्री आयात करना चाहते हैं। इन चरणों का पालन करें:एपेक्स में फ़ाइल ब्राउज़ पेज आइटम बनाएं और फ़ाइल को स्टोर करने के लिए wwv_flow_files विकल्प चुनें। फिर पेज प्रक्रिया बनाएं और प्रक्रिया के लिए सत्यापन विकल्प और plsql कोड विकल्प सबमिट और निष्पादन के बाद चुनें। plsql क्षेत्र में निम्नलिखित कोड लिखें डेटाबेस (wwv_flow_files view) से सर्वर ड्राइव में csv फ़ाइल निर्यात करने के लिए और फिर उस फ़ाइल की सामग्री को तालिका में आयात करने के लिए अपनी कस्टम प्रक्रिया को कॉल करें। DECLARE
v_upl_blob BLOB;
vstart Number :=1;
बाइटलेन नंबर :=32000;
लेन नंबर;
my_vr रॉ ​​(32000);
x नंबर;
l_output Utl_file.file_type;
erout varchar2(1000);
BEGIN
blob_content चुनें
v_upl_blob में
wwv_flow_files से
जहां नाम =:P25_FB;
-- :p25_fb पेज में फ़ाइल ब्राउज़ आइटम है
LEN:=Dbms_lob.getlength(V_UPL_BLOB);
l_output :=Utl_File.fopen ('MY_FILES', :P25_FB, 'wb', 32760);
vstart :=1;
bytelen :=32000;
IF लेन <32760
फिर
Utl_File.put_raw (l_output, V_UPL_BLOB);
Utl_File.fflush (l_output);
और -- टुकड़ों में लिखें
vstart :=1;

जबकि vstart <लेन और बाइटलेन> 0
LOOP
Dbms_lob.पढ़ें (V_UPL_BLOB, bytelen, vstart, my_vr);
Utl_File.put_raw (l_output, my_vr);
Utl_File.fflush (l_output);
-- अगले कट के लिए प्रारंभ स्थिति सेट करें
vstart :=vstart + bytelen;
-- 32000 बाइट्स से कम होने पर अंतिम स्थिति सेट करें
x :=एक्स - बाइटलेन;

IF x <32000
तब
bytelen :=x;
END IF;
END LOOP;
END IF;

Utl_File.fclose (l_output);

wwv_flow_files
से हटाएं जहां नाम =:P25_FB;
COMMIT;
--- आयात करने के लिए अपनी कस्टम डेटाबेस प्रक्रिया को कॉल करें...
yourcustomprocedure(:P25_FB);
अपवाद जब अन्य
तब
IF Utl_File.is_Open(l_output) तब
Utl_File.fclose (L_OUTPUT);
END IF;
raise;
END;

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Django ओरेकल डीबी सेटिंग्स

  2. कहां क्लॉज में उपनाम का उपयोग कैसे करें?

  3. एसक्यूएल (ओरेकल):ऑर्डर बाय और लिमिट

  4. Oracle तालिका की अंतिम पंक्ति कैसे प्राप्त करें?

  5. Oracle डायनेमिक DESC और ASC क्रम में