我有超过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
)
我正在寻找一种自动方式将整个文件夹加载到数据库中,逐个文件(我不想合并文件,因为它们很大)。
有什么想法吗?
答案 0 :(得分:1)
使用EXTERNAL TABLE
,将文件名传递给它。在11gR2
,您可以使用 PREPROCESSOR DIRECTIVE 。
您甚至可以动态传递文件名。请查看此asktom链接以获取更多详细信息https://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:3015912000346648463