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

Съхранявайте големи JSON файлове в Oracle DB

CLOB имат ограничение на размера от 4G

Но ограничението тук е с 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 различни примери



  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

  2. Споделяне на връзка с база данни на Oracle между едновременни задачи на Celery

  3. Какво е необходимо за работа с Oracle от Visual Studio 2010?

  4. Конфигурация на множество бази данни за Spring Data JPA 2.0.9 издание

  5. Има ли начин да инсталирам java на Oracle 11g XE?