使用sqlldr加载1500个CSV文件

时间:2015-01-12 14:10:26

标签: sql oracle csv

我有超过1500个CSV文件要加载到Oracle 11gR2中。我在Windows环境中使用sqlldr。我知道我可以加载文件如下,但由于很多原因,这是一个非常糟糕的方式。

load data 
infile 'FILE_1.csv'
infile 'FILE_2.csv'
infile 'FILE_3.csv'
infile 'FILE_4.csv'
infile 'FILE_5.csv'
.
.
.
infile 'FILE_1500.csv'
append
into table MyTable
fields terminated by '  '
trailing nullcols
    (   
        A,
        B,
        C,
        D,
        E
        F,
        G
     )

我正在寻找一种自动方式将整个文件夹加载到数据库中,逐个文件(我不想合并文件,因为它们很大)。

有什么想法吗?

1 个答案:

答案 0 :(得分:1)

使用EXTERNAL TABLE,将文件名传递给它。在11gR2,您可以使用 PREPROCESSOR DIRECTIVE

您甚至可以动态传递文件名。请查看此asktom链接以获取更多详细信息https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:3015912000346648463