Oracle
 sql >> база данни >  >> RDS >> Oracle

Проблем с кодирането на отговора на Oracle PL/SQL HTTP заявка

Оказа се, че трябва да използвам UTL_HTTP и DBMS_LOB за да може Oracle да анализира правилно символите.

Това реши проблема ми:

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

Надявам се това да помогне на някой друг.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. показване на персонализиран sql текст от резултата от колоната на таблицата

  2. OleDB Доставчик на данни не може да бъде намерен VBA/Excel

  3. Oracle Еквивалент на MySQL INSERT IGNORE?

  4. Oracle вмъкване от select в таблица с повече колони

  5. SQL множествена SELECT заявка с функция xmlagg- Данните не са изтеглени по необходимия начин