sql >> Databáze >  >> RDS >> Oracle

Ukládejte velké soubory JSON do databáze Oracle

CLOB mají limit velikosti 4G

Omezení zde však platí pro UTL_HTTP.read_text který vrátí výsledek jako VARCHAR2 (máte implicitní konverze zde).

Chcete-li snadno načíst velké textové objekty z webu, pravděpodobně budete potřebovat HttpUriType.getClob

Pokud z nějakého důvodu chcete zůstat u UTL_HTTP , budete muset procházet smyčkou, abyste mohli číst data po částech. Něco takového:

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;

Viz http:// oracle-base.com/articles/misc/retrieving-html-and-binaries-into-tables-over-http.php nebo různé příklady



  1. Rails 4 Datový typ pole Postgresql:aktualizace hodnot

  2. Chyba Oracle 11.1 při převodu čísla juliánského dne na DATE nebo TIMESTAMP

  3. Jak změním formát data v Postgres?

  4. Vnořený dotaz v node js pomocí mysql