您的位置:首页 > 数据库 > Oracle

Oracle sqlldr

2016-04-21 09:27 531 查看

用途:

将批量的txt格式的数据导入到数据库中。

优点:

方便、批量

用法:

在命令行(Dos)环境下,运行以下命令:

sqlldr userid=username/password@serviceName control=load.ctl


其中,

username:数据库用户

password:数据库密码

serviceName:数据库连接串

serviceName可以在”{Oracle安装路径}\product\11.2.0\client_1\network\admin\tnsnames.ora”文件中配置。

比如:

serviceName=(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=127.0.0.1)(PORT=1532))(connect_data=(sid=t1epcis)))

load.ctl:控制文件

load data   //控制文件标识
infile 'fileName.txt'   //数据文件fileName.txt,如果和控制文件不在同一个目录下,必须写绝对路径
append into table tableName //插入到对应的表名tableName
/*
*其中append为数据装载方式,还有其他选项:
*a、insert,为缺省方式,在数据装载开始时要求表为空
*b、append,在表中追加新记录
*c、replace,删除旧记录,替换成新装载的记录
*d、truncate,同上
*/
fields terminated by '|'    //数据文件中的每个字段的隔离符号
TRAILING NULLCOLS   //如要导入源文件此列内容为空,在导入到数据库表中,此列内容就是null
(
TransactionNo                  ,
BatchNo     CHAR(100)          ,//指定字段大小
PolicyNo                       ,
CompanyCode                    ,
TransactionTimes               ,
TransactionReason              ,
TransactionFee                 ,
Currency                       ,
Currency2                      ,
ExchangeRate2                  ,
PlanFee2                       ,
TransactionDate       date "yyyy-mm-dd hh24:mi:ss"    NULLIF(TransactionDate='null')         ,//格式化Date类型,如果为空将其设置为null
Flag
)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  oracle