Oracle
 sql >> Base de Dados >  >> RDS >> Oracle

Ao tentar carregar um clob em uma tabela Oracle, carregando muitos registros


A configuração típica do Oracle Loader com LOBs seria:
  • O arquivo de controle com as instruções de carregamento
  • Existe um arquivo de dados principal com os metadados (autor, data, nome do arquivo). Cada linha no arquivo se torna uma linha na tabela de destino.
  • Há um arquivo separado para cada entrada no arquivo principal, que é carregado na coluna CLOB ou BLOB da tabela de destino.

No seu caso, os arquivos XML parecem ser usados ​​como o arquivo de dados principal e o arquivo LOB separado (embora eu não entenda completamente o porquê; você também está especificando o XML na linha de comando?).

Então você precisa especificar essas três coisas corretamente. Para evitar três arquivos, você coloca o arquivo de dados principal no arquivo de controle usando a diretiva BEGINDATA (é para isso que serve o astrisco após INFILE):
LOAD DATA
INFILE * 
REPLACE

INTO TABLE LEAD_REPORTING_CLOB
FIELDS TERMINATED BY ',' TRAILING NULLCOLS
(
    FILENAME,
    SHARED_XML  LOBFILE(FILENAME) TERMINATED BY EOF
)

BEGINDATA
/export/RFD/Lead_Reports/LEADRPT.xml