sql >> Database teknologi >  >> RDS >> Oracle

Gem store JSON-filer i Oracle DB

CLOB har en størrelsesgrænse på 4G

Men begrænsningen her er med UTL_HTTP. read_text der returnerer resultatet som en VARCHAR2 (du har en implicit konvertering her).

For nemt at hente store tekstobjekter fra nettet har du sandsynligvis brug for HttpUriType.getClob

Hvis du af en eller anden grund vil holde dig til UTL_HTTP , bliver du nødt til at sløjfe for at læse dine data stykke for stykke. Sådan noget:

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;

Se http:// oracle-base.com/articles/misc/retrieving-html-and-binaries-into-tables-over-http.php forskellige eksempler



  1. Sådan opretter du indlejret tabel som databaseobjekt i Oracle

  2. PHP Array som input til Stored Procedure

  3. Forespørgsel for at få den laveste værdi, der er større end nul, og er ikke NULL

  4. Viser abonnentindlæg og brugers egne indlæg