方案1:可以使用外部表读取文件中的数据
创建方法:
Create or replace directory dump_dir as ‘/home/oracle/oradata’;
Grant read,write on directory dump_dir to scott;
编辑控制文件:
Vi ldr_ctl.ctl
Create table ext_tbs(
Ename varchar2(10);
Job varchar2(10);
Dept_id unmber)
Organization external
(type oracle_loader
Default directory extdir
Access parameters
(records delimited by newline
Skip 6
Fields terminated by “,”
(ename,job,dept_id))
Location(‘ldr_ctl.ctl’));
)
使用sqlldr加载数据:
Sqlldr scott/tiger control=ldr_ctl.ctl external_table=generate_only
方案2:可以使用BFILE加载文件中得数据
创建方法:
Create or replace directory BFILE_TEST as ‘/home/oracle/oradata/bfiles’;
Grant read on directory BFILE_TEST to scott;
编辑/home/oracle/oradata/bfiles/1.TXT,
Create table bfiles_tbs(id int,name bfile);
Insert into bfiles_tbs values(1,bfilename(‘BFILE_TEST’,’1.TXT’));
方案三:使用sqlldr 加载excel..等文件数据
1、创建用户
2、数据文件:把数据文件保存成*.cvs数据
3、根据数据文件创建元数据(表结构)
create table ams(
acc_location varchar2(10),
acc_name varchar2(20),
acc_brand varchar2(10),
acc_model varchar2(30),
acc_date varchar2(20),
acc_sn varchar2(30),
acc_product_date varchar2(20),
acc_useddepart varchar2(30),
acc_owner varchar2(30),
acc_devno varchar2(30),
acc_no varchar2(40),
acc_status varchar2(60),
acc_address varchar2(50)
);
3、控制文件:
load data
infile 'E:\sst1B32.csv'
append into table ams fields terminated by ','
trailing nullcols(acc_location ,acc_name ,acc_brand ,acc_model,acc_date,acc_sn,acc_product_date,acc_useddepart,acc_owner,acc_devno,acc_no,acc_status,acc_address)
4、登录数据,加载表数据
C:\Users\bo-chen1.HNANET>sqlldr userid=bobo/ckf77856@10.37.2.21:1521/ECIMS contr
ol=E:\ams.ctl log=E:\ams.log bad=E:\ams.bad discard=E:\ams.dcrd