sql >> Database >  >> RDS >> Oracle

Wanneer u probeert een clob naar een Oracle-tabel te laden, laadt u te veel records

De typische opstelling voor Oracle Loader met LOB's zou zijn:

  • Het controlebestand met de laadinstructies
  • Er is een hoofdgegevensbestand met de metagegevens (auteur, datum, bestandsnaam). Elke regel in het bestand wordt een rij in de doeltabel.
  • Er is een apart bestand voor elk item in het hoofdbestand, dat in de CLOB- of BLOB-kolom van de doeltabel wordt geladen.

In uw geval lijken de XML-bestanden te worden gebruikt als zowel het hoofdgegevensbestand als het afzonderlijke LOB-bestand (hoewel ik niet helemaal begrijp waarom; specificeert u ook de XML op de opdrachtregel?).

Je moet deze drie dingen dus goed specificeren. Om drie bestanden te vermijden, plaatst u het hoofdgegevensbestand in het controlebestand met behulp van de BEGINDATA-richtlijn (dit is waar de asterisk na INFILE voor is):

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. Hoe ontwerp je een datamodel dat omgaat met de huidige medewerkers en voorspelde medewerkers?

  2. Hoe MySQL-tijd naar UNIX-tijdstempel te converteren met PHP?

  3. Hoe Mysql JDBC Driver naar Android Studio te Mysql?

  4. Kerel, van wie is die #temp-tafel?