Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Vấn đề mã hóa phản hồi yêu cầu HTTP Oracle PL / SQL

Hóa ra tôi phải sử dụng UTL_HTTPDBMS_LOB để Oracle phân tích cú pháp chính xác các ký tự.

Điều này đã giải quyết được vấn đề của tôi:

DECLARE
    l_clob            CLOB;
    l_http_request    utl_http.req;
    l_http_response   utl_http.resp;
    l_text            VARCHAR2(32767);
BEGIN
    dbms_lob.createtemporary(l_clob, false);
    l_http_request := utl_http.begin_request(my_url || '/download_csv');
    l_http_response := utl_http.get_response(l_http_request);
    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;

    dbms_output.put_line(l_clob); /* => ENCODING IS FINALLY GOOD ! */
    dbms_lob.freetemporary(l_blob);
EXCEPTION
    WHEN OTHERS THEN
        utl_http.end_response(l_http_response);
        dbms_lob.freetemporary(l_blob);
        RAISE;
END;
/

Tôi hy vọng điều này có thể giúp ích cho người khác.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Sự khác biệt trừ so với ngoại trừ trong ORACLE / SQL Server

  2. Mô hình đường ray với khóa ngoại cho chính nó

  3. Hiểu phân đoạn Lob (SYS_LOB) trong oracle?

  4. Có danh sách cột tự động bỏ chia sẻ (oracle 11g)

  5. PL / SQL và tập lệnh SQL trong một sqlFile với liquibase?