例一、
使用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、数据导入需要较长的时间。
----------------------------------------------------------------------------------------------------
例二、
环境说明:
数据库:Oracle8.1.6OEM;
系 统:Windows2000 Server.
*******************************************************************************************
用记事本创建控制文件input.ctl,内容如下:
load data
infile 'test.txt' --数据文件
append into table Test
fields terminated by '|' --或者是x'09'来标识,也即字段终止与制表符TAB
( --字段名称
cp_bh char(30),
mc char(50),
cp_ljmc char(100),
zyh char(20),
dj
)
*******************************************************************************************
文本文件test.txt中的内容格式,例如下面
10300108200|XPB65-113S|后盖 PP 0.34kg|0030200525 |3.42000008
10300108200|XPB65-113S|洗涤桶盖 浅兰透明ABS|0030200877 |15.52000046
一般情况都是相互之间导出导入数据,比方说从excel导出的数据你可以将其保存为:制表符分隔,起名为test,……,等等。
*******************************************************************************************
使用sql*loader进行数据导入(sqlldr -? 查看帮助)
在“运行”里执行,命令如下:
sqlldr username/pw control=路径\input.ctl data=路径\test.txt log=路径 bad=路径