windows - SQLOADER indlæs multple filer i en tabel

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg bruger SQLOADER til at indlæse flere csv-filer i 1 tabel.
Dette er indholdet af min ctl-fil


load data 
append
into table SAMP\_TABLE
fields terminated by ','
OPTIONALLY ENCLOSED BY '"' AND '"'
trailing nullcols
           ( COLUMN1 CHAR(4000),
             COLUMN2 CHAR(4000),
             COLUMN3 CHAR(4000)
           )


Og dette er min batch-fil


@echo off
for \%\%F in ("C:Users	est*.csv") do (
sqlldr username/pw@dbip CONTROL='C:Users	est	est2.ctl' LOG='C:Users	estTEST.log' "DATA=\%\%F" 
)
pause


Alle mine csv-filer, kontrolfil og batch-filen er i samme mappe.
 Jeg har to csv-filer med de samme kolonner, kun andet indhold. Problemet
 er nu, at det kun importerer den første csv-fil ikke den anden og jeg ved ikke hvorfor ..? Jeg vil sætte pris på, om nogen kunne fortælle mig, hvad jeg gør galt

Bedste reference


Du skal blot give flere infile anmodninger


load data 
infile 'data1.csv'
infile 'data2.csv'
...
infile 'datan.csv'
append
into table TABLE1
fields terminated by ','
OPTIONALLY ENCLOSED BY '"' AND '"'
trailing nullcols
           ( COLUMN1 CHAR(4000),
             COLUMN2 CHAR(4000),
             COLUMN3 CHAR(4000)
           )


Hvis filerne altid er til stede i samme mappe


infile /path/*.csv

Andre referencer 1


Hej dette er løsningen på mit problem:


@echo off

    IF NOT EXIST C:Users	est\%date:~-10,2\%"-"\%date:~-7,2\%"-"\%date:~-4,4\% md C:Users	est\%date:~-10,2\%"-"\%date:~-7,2\%"-"\%date:~-4,4\%
    for \%\%F in ("C:Users	est*.csv") do (
    sqlldr dbuser/dbpw@dbip CONTROL='C:Users	est.ctl' LOG='C:Users	est\%date:~-10,2\%"-"\%date:~-7,2\%"-"\%date:~-4,4\%\%date:~-10,2\%"-"\%date:~-7,2\%"-"\%date:~-4,4\%.log' "DATA=\%\%F" skip=1  
    move \%\%F C:Users	est\%date:~-10,2\%"-"\%date:~-7,2\%"-"\%date:~-4,4\%
    )
    pause