使用 Sql*Loader 向 Oracle 导入数据

使用Oracle的sqlldr工具来将SDSS.CSV文件中的数据导入数据库。

SDSS.CSV 放置于 E:\ 内容如下:

2.3757291096910399E-4,-8.9490277843631194,20.302597,

0.00023851549291556,-0.88450365314434698,20.098101,

2.5168890447969299E-4,7.7169029946908094E-2,18.762859,

2.9486118387225802E-4,-9.8447540892170409,19.943598,

2.94865362739442E-4,-9.8447540642891909,19.944597,

操作步骤:

1、在Oracle中按照导入数据的格式建立一个空表

类型 大小 小数

RA Number 23 20

DEC Number 23 20

MAG Number 8 6

2、编写一个loader.ctl文件,内容如下

load data

infile 'E:\SDSS.csv'

into table SDSS_STARS

fields terminated by ","

( RA, DEC, MAG )

3、在CMD中执行以下语句:

sqlldr scott/tiger control=loader.ctl

4、自动在当前目录下生成两个文件

默认日志文件名为:loader.log

默认坏记录文件为:SDSS.bad

注意事项:

1、必须在服务器本机上操作,不能在只安装Oracle客户端的机器上使用。

2、CSV文件的内容是以“,“分隔的,如果数据在结尾没有逗号导入时就会出错。

可以利用UltraEdit等文本编辑器处理一下,将 ^p 替换为 ,^p 就可以在每行的末尾加上一个逗号了。

3、数据导入需要较长的时间。