oracle定时导入TXT,oracle 导入txt

1899800 广东省东莞市 电信 0769

1899801 广东省东莞市 电信 0769

如上,有25w条手机号归属地的记录要入库,文件是excel格式的

首先,建表,4个字段;

然后,将excel另存为txt文件,选择制表符分隔;

0818b9ca8b590ca3270a3433284dd417.png

在txt文件同一目录,新建文件load.ctl,字符集ZHS16GBK的文本文件的控制文件load.ctl的内容如下:

Ctl代码

0818b9ca8b590ca3270a3433284dd417.png

LOAD DATA

CHARACTERSET ZHS16GBK

INFILE 'data.txt'

into table T_USER_INFO

(PHONE_SEGMENT CHAR terminated by x'09' OPTIONALLY ENCLOSED BY '"' ,

PHONE_DISTRICT CHAR terminated by x'09' OPTIONALLY ENCLOSED BY '"',

PHONE_MNO CHAR terminated by x'09' OPTIONALLY ENCLOSED BY '"' ,

PHONE_REGION char terminated  by  x'09'OPTIONALLY ENCLOSED BY '"')

这里的字符集名称和数据库的字符集名称一致。如果字符集不匹配,在加载数据进入数据库后,你会发现中文或其他文件的都会是乱码。

如果数据库字符集是ALT32UTF8,那么需要将"CHARACTERSET ZHS16GBK"修改为"CHARACTERSET UTF8"。

字段分隔符说明:

terminated   by   x'09'       ,指字段以X'09' -- 制表符(TAB)分隔

terminated   by  ','          ,指用逗号分隔

terminated   by   whitespace ,指结尾以空白分隔

最后,cmd打开命令行,切换到load.ctl文件所在目录,执行“sqlldr userid=username/password@database  control=load.ctl”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值