sql loader需要dat文件来加载数据

时间:2018-08-27 20:31:28

标签: oracle sql-loader

我有一个包含多个文件的文件夹,但它们不是.dat。令我惊讶的是,我只能加载一个文件,但仅当我重命名为.dat时。我在做什么错或者我需要将所有文件重命名为.dat?我的文件没有扩展名

谢谢大家

控制文件

load data 
infile 'D:\pageviews\year=2016\month=06\*' 
replace
into table test
fields terminated by whitespace
trailing nullcols
(
c1,
c2,
c3,
c4
)

1 个答案:

答案 0 :(得分:1)

据我所知,您使用的INFILE子句是错误的。

您应命名要加载的文件。当数据(您即将加载)包含在控制文件本身中(在BEGINDATA关键字之后)时,将使用星号。

如果您未指定文件扩展名,则它默认为.dat (这就是您设法加载文件的原因)。

可能的情况(从documentation复制):

  • 控制文件本身中包含的数据:INFILE *
  • 包含在名为foo的文件中的数据,默认扩展名为.dat:INFILE foo
  • 包含在名为datafile.dat的文件中的数据,并指定了完整路径:INFILE 'c:/topdir/subdir/datafile.dat'

请阅读文档;将会更加清楚您应该(不应该)做什么。