数据量很大,用pl/sql developer 粘贴内存不够(>100000条数据),本身就推荐使用SQL*LOAD :
1。将excle数据XLS格式 另存为: CSV格式,注意,这里是另存为,不要直接改后缀名,否则,数据格式不是以逗号形式隔开,就是保持类型那里选 “CSV(逗号分隔符) (*.CSV)”。
2。编写input.ctl文件:
内容如下:
load data ---控制文件标识
infile 'd:/测试.csv' ---数据源
append into table test ---向TEST表追加数据
fields terminated by ',' ---字段终止于 逗号(csv 格式字段默认分隔为逗号),制表符 X'09',是一个制表符(TAB)
----如果字段数据有"",可加上optionally enclosed by '"'
trailing nullcols ---读取所有的记录,包括空格(一般去掉,会插入垃圾数据)
(name,age) ---表中字段
将上述内容保存至d:/(其它盘也行),命名为input.ctl
附加:insert,为缺省方式,在数据装载开始时要求表为空
replace,删除旧记录,替换成新装载的记录
truncate,同上
3、在DOS窗口下使用SQL*Loader命令实现数据的输入。命令如下:
C:/>sqlldr userid=system/password@SID control=d:/input.ctl
(解释:上述命令中的SID是指全局数据库名(例如:我的全局数据库名定义为ORCL,则我要输入的命令为:
C:/>sqlldr userid=system/password@orcl control=d:/input.ctl)。若不输入全局数据库名,运行时可能会出现协议适配器错误。
在d:/会默认出现日志文件名为:input.log
默认坏记录文件为:input.bad
4、连接到SQL*Plus或者PL/SQL中,查询表device_user_model看是否成功输入数据