लेकिन यहां सीमा UTL_HTTP.read_text
जो परिणाम को VARCHAR2
. के रूप में लौटाता है (आपके पास एक निहित है यहां रूपांतरण)।
वेब से बड़े टेक्स्ट ऑब्जेक्ट को आसानी से पुनर्प्राप्त करने के लिए, आपको संभवतः HttpUriType.getClob
अगर किसी कारण से आप UTL_HTTP
. से चिपके रहना चाहते हैं , आपको अपने डेटा खंड को खंड द्वारा पढ़ने के लिए लूप करना होगा। कुछ ऐसा:
BEGIN
...
l_clob CLOB;
l_text VARCHAR2(32767);
BEGIN
DBMS_LOB.createtemporary(l_clob, FALSE);
...
l_http_request := UTL_HTTP.begin_request(your_URI);
l_http_response := UTL_HTTP.get_response(l_http_request);
-- Loop to read data chunk by chunk up to the end
BEGIN
LOOP
UTL_HTTP.read_text(l_http_response, l_text, 32766);
DBMS_LOB.writeappend (l_clob, LENGTH(l_text), l_text);
END LOOP;
EXCEPTION
WHEN UTL_HTTP.end_of_body THEN
UTL_HTTP.end_response(l_http_response);
END;
देखें http:// oracle-base.com/articles/misc/retrieving-html-and-binaries-into-tables-over-http.php विभिन्न उदाहरणों के लिए