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

Når du prøver at indlæse en clob til et Oracle-bord, indlæses for mange poster

Den typiske opsætning for Oracle Loader med LOB'er ville være:

  • Kontrolfilen med indlæsningsinstruktionerne
  • Der er en hoveddatafil med metadataene (forfatter, dato, filnavn). Hver linje i filen bliver en række i måltabellen.
  • Der er en separat fil for hver post i hovedfilen, som indlæses i CLOB- eller BLOB-kolonnen i måltabellen.

I dit tilfælde ser XML-filerne ud til at blive brugt som både hoveddatafilen og den separate LOB-fil (selvom jeg ikke helt forstår hvorfor; angiver du også XML'en på kommandolinjen?).

Så du skal specificere disse tre ting ordentligt. For at undgå tre filer, lægger du hoveddatafilen ind i kontrolfilen ved hjælp af BEGINDATA-direktivet (det er hvad stjernen efter INFILE er for):

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



  1. Introduktion til SQL

  2. GROUP BY for kontinuerlige rækker i SQL

  3. Git-tip og bedste praksis for begyndere

  4. Mysql_fetch_array leveret argument er ikke et gyldigt MYSQL resultat