आप फ़ाइल को पंक्ति दर पंक्ति पढ़ रहे हैं, लेकिन अपने xmlClob
. को अधिलेखित कर रहे हैं प्रत्येक पंक्ति के साथ, संलग्न नहीं। आप varchar2
. में पढ़कर CLOB का निर्माण कर सकते हैं बफर और अपेंडिंग, लेकिन आप DBMS_LOB
. का भी उपयोग कर सकते हैं आपके लिए इसे करने के लिए अंतर्निहित प्रक्रियाएं:
DECLARE
xmlClob CLOB;
xmlFile BFILE;
x XMLType;
src_offset number := 1 ;
dest_offset number := 1 ;
lang_ctx number := DBMS_LOB.DEFAULT_LANG_CTX;
warning integer;
BEGIN
xmlFile := BFILENAME('XMLPARSERADRESYCUZK', 'pokus.xml');
DBMS_LOB.CREATETEMPORARY(xmlClob, true);
DBMS_LOB.FILEOPEN(xmlFile, DBMS_LOB.FILE_READONLY);
DBMS_LOB.LOADCLOBFROMFILE(xmlClob, xmlFile, DBMS_LOB.LOBMAXSIZE, src_offset,
dest_offset, DBMS_LOB.DEFAULT_CSID, lang_ctx, warning);
x := XMLType.createXML(xmlClob);
DBMS_LOB.FILECLOSEALL();
DBMS_LOB.FREETEMPORARY(xmlClob);
FOR r IN (
...
जब मैं इसका उपयोग करता हूं और आपकी फाइल लोड करता हूं तो मुझे आउटपुट मिलता है:
CUZK Pod smdli.t.m 1800/9
आप शायद DBMS_LOB
. के आसपास कुछ त्रुटि जांच चाहते हैं कॉल, यह एक साधारण डेमो है।