1、把Excel另存为.csv格式文件(如test.csv);
2、再编写一个insert.ctl
文件内容如下:
load data --控制文件标识
infile 'test.csv' --要输入的数据文件名为test.csv
append into table table_name --向表table_name中追加记录
fields terminated by ',' --字段终止于',',是一个逗号
(field1,field2,field3,...,fieldn) --定义列对应顺序(注意括号中field排列顺序要与csv文件中相对应)
如果字段终止结尾不是',',如果是回车,则可以将上面的倒数第二行改写成:
fields terminated by X'09'
如导入的数据中存在一些特殊类型的数据(如日期类型),则再定义列对应顺序时可以如下进行:
(field1 char, --字符串
field2 char, --字符串
field3 date "YYYY-MM-DD", --日期类型,并且指定Excel中的日期格式为YYYY-MM-DD格式
...,
fieldn char --字符串
)
3、执行如下命令:
sqlldr user/password control=insert.ctl
执行后系统在当前目录下产生以下两个文件:
默认日志文件名为:loader.log
默认坏记录文件为:sdss.bad
4、特别注意事项
a、必须在服务器本机上操作,不能在只安装oracle客户端的机器上使用。
b、csv文件的内容是以“,“分隔的,如果数据在结尾没有逗号导入时就会出错。
可以利用ultraedit等文本编辑器处理一下,将 ^p 替换为 ,^p 就可以在每行的末尾加上一个逗号了。
c、数据导入需要较长的时间。