求助,关于SQL loader的问题,未曾遇到过,解决者高分重谢
数据文件格式如下(有5列数据),数据文件格式不能随意改动:
data.csv
0, 1, a001, name1, a
1, 92, aaaa, name2, b
3, 983, dvdaa,name3, c
要倒入数据的表定义为:
id number(5),
name varchar(50)
这个表有两列,现在要把数据文件中的第二列和第四列倒入到表中,采用sql loader的方式倒入,那么control file如何写???
就是如何选择数据文件中的某几列倒入到表中的控制文件如何写?那位高人能指点一二,不胜感激!!!
[解决办法]
需要用AWK文件转换出一个临时数据文件,然后做LOADER处理
[解决办法]
1. cat data.csv | cut -d ', ' -f 2,4 > data1.csv
2. 做成control文件
OPTIONS(DIRECT=FALSE, ROWS=1000, ERRORS=0)
Load data
INFILE "data1.csv "
APPEND
INTO TABLE table1
FIELDS TERMINATED BY ", "
(
id INTEGER EXTERNAL,
name CHAR,
)
3. sqlloader
[解决办法]
其实很简单 就是随便命名几个不存在的字段 后面加上 filler 即可,不用担心,这些字段sqlldr不会真的去跟表里面的字段比较的,不信您试试。
(
id0 filler,
id ,
id2 filler,
name CHAR
)