sqlldr把指定格式的数据导入数据到oracle表中

2025-10-26 12:23:19

1、需求内容,每天从把一份固定格式的用户数据入库到user表中

2、获取指定格式的数据,可以编写shell脚本,使用crontab任务自动ftp从外部获取或手工获取。

如下用户数据,user_info.txt:

id0001|张三|133****1111|广州

id0002|李四|133****1112|深圳

3、oracle表结构如下

create table user_info(

user_id varchar2(20),

user_name varchar2(60),

phone varchar2(20),

address varchar2(60)

);

4、生成控制user_info.ctl文件,文件名无要求,内容如下:

Load data

infile 'user_info.txt'

append into table user_info

fields terminated by '|'

(

user_id,

user_name,

phone,

address

)

数据说明:

infile指定要导入的文件

append into table user_info指定每次追加到表中(可以为truncate、replace)

fields terminated by 指定了文件分隔符

括号中的是表中对应的列,要与文件中的数据一一对应

5、执行sqlldr命令导入数据

sqlldr dbusername/dbpasswd@tns control='user_info.ctl' direct=true

说明:

dbusername/dbpasswd@tns 指定数据库的用户名密码tns信息

control指定对应的control文件

6、plsql或sqlplus登录查看导入的数据

select * from user_info;

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢