日期:2014-05-16  浏览次数:20439 次

excel 里的数据导入oracle数据库(2)

有一个比较麻烦但保证成功的方法。
1、在本地创建一个Access数据库,将Excel数据先导入到Access。可直接导入点击鼠标右键,选择导入,文件类型选择要导入的Excel文件,也可通过创建宏用TransferSpreadsheet函数实现。
2、在本地创建ODBC,链接oracle数据库。将oracle中需要导入数据的表以链接表的方式在本地Access中创建(千万不要使用导入表)。
3、在Access数据库中创建插入查询将导入好的Excel数据导入到oracle中。

此方法保证成功

------------------------------------------------

我用过一种方法:
先把Excel另存为.csv格式文件,如test.csv,再编写一个insert.ctl
用sqlldr进行导入!
insert.ctl内容如下:
load?data          ??????????--1、控制文件标识
infile?'test.csv'      ??????????--2、要输入的数据文件名为test.csv
append?into?table?table_name    ???--3、向表table_name中追加记录
fields?terminated?by?','  ???????????--4、字段终止于',',是一个逗号
(field1,
?field2,
?field3,
?...
?fieldn)-----定义列对应顺序

注意括号中field排列顺序要与csv文件中相对应
然后就可以执行如下命令:
sqlldr?user/password?control=insert.ctl

------------------------------------------------

其实如果你的单个文件不大的情况下(少于100000行),?可以全选COPY?,然后用PL/SQL.:
select?*?from?table?for?update.?然后打开锁,?再按一下加号.?鼠标点到第一个空格然后粘贴.?COMMIT即可.(小窍门,?ORACLE不支持的,?但很好用,?不会有问题)

------------------------------------------------