Oracle
 sql >> Teknologi Basis Data >  >> RDS >> Oracle

Masalah penyandian respons permintaan Oracle PL/SQL HTTP

Ternyata saya harus menggunakan UTL_HTTP dan DBMS_LOB agar Oracle dapat mengurai karakter dengan benar.

Ini memecahkan masalah saya:

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;
/

Saya harap ini bisa membantu orang lain.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Oracle Regexp untuk mengganti \n,\r dan \t dengan spasi

  2. mendapatkan format tanggal yang tepat dari hasil pencarian SQL (datetime.datetime)

  3. Kembalikan semua Pengguna, bahkan mereka yang tidak sesuai dengan kriteria saya

  4. Tidak ada lagi data untuk dibaca dari soket

  5. Sebuah meja masih ada saat dijatuhkan