Oracle用sqlloder工具把文本数据导入数据库

工作中经常需要把文本的数据导入Oracle数据库,把文本导入数据库有两种常用方法。

方法一:使用Oracle自带的sqlloder工具,命令行导入数据。
命令如下。cmd窗口执行:

sqlldr 用户名字/用户密码@数据库实例 control=E:\test\SQLLOADER\load.ctl DIRECT=Y log=E:\test\SQLLOADER\test.log

解析:此命令其实就是连接数据库后,调用ctl控制文件,然后导入数据,可以设置日志文件输出路径。其中DIRECT=Y 代表直接加载 可去掉
其中ctl文件内容如下

LOAD DATA
infile 'E:\test\SQLLOADER\test.txt'
badfile 'E:\test\SQLLOADER\test.BAD'
discardfile 'E:\test\SQLLOADER\test.DIS'
append
into table test_table
fields terminated by ','
trailing nullcols
(
STATDATE DATE 'YYYY-MM-DD'
,id
,name
)

解析:ctl文件就是配置了一下文本数据的路径,已经表名和字段信息。其中data类型的字段注意格式。

方法二:plsql工具,操作如下:
plsql–选中表名–工具—文本导入器—来自文本数据的文件 –选择文本
–到oracle的数据 –用户 和表名 字段。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
---------------------------------------------------------------------------- - oz_ora_dts: Release 2.21 - Copyright (C) 2009 by Ozai ---------------------------------------------------------------------------- Usage: ozoradts -func keyword=value [,keyword=value,...] -func = -imp/exp Common Valid Keywords: userid = username/password@tnsname data = 数据文件 (默认dts.oz) log = 处理日志文件 control = 控制文件 columnarrayrows = 直接路径字段数组行数,5-5000 (默认5000) columnover = 字段数据分隔符 (默认Tab) rowover = 行数据结束符 (默认换行符) enclose = 字段数据封闭符 (默认无) head = 数据文件是否包含字段名 (默认FALSE) fixlen = 根据字段长度定长输出 (默认FALSE) nullif = NULL值替换符 (默认无) date = date类型字符格式 (默认YYYY-MM-DD HH24:MI:SS) timestamp = timestamp类型字符格式 (默认YYYY-MM-DD HH24:MI:SSXFF) timestamp_tz = timestamp_tz类型字符格式 (默认YYYY-MM-DD HH24:MI:SSXFF TZH:TZM) Import Valid Keywords: table = 导入目标表名 owner = 表schema或所属用户名 (默认登录用户名) sub = 对应表分区 (可选) mode = 导入操作 INSERT/APPEND/REPLACE/TRUNCATE (默认INSERT) buffer = 转换缓冲区大小 (UNIT:MB 默认16) reclen = 记录最大长度,8-2048 (默认2048) parallel = 并行导入 (默认FALSE) skip = Number of logical records to skip (默认0) load = Number of logical records to load (默认全部) errors = Number of errors to allow (默认0) rows = Number of rows in conventional path bind array or between direct path data saves nolog = no logging方式导入 (默认FALSE) Export Valid Keywords: query = select语句,只支持单表查询 table = 导入目标表名 (控制文件) mode = 导入操作 INSERT/APPEND/REPLACE/TRUNCATE (控制文件,默认INSERT) buffer = sqlldr READSIZE and BINDSIZE (控制文件,UNIT:MB 默认16) read = set DB_FILE_MULTIBLOCK_READ_COUNT at session level sort = set SORT_AREA_SIZE at session level (UNIT:MB) hash = set HASH_AREA_SIZE at session level (UNIT:MB) serial = set _serial_direct_read to TRUE if 1 at session level trace = set event 10046 to given level at session level long = 最大长字段长度,8192-65534 (默认8192) feedback = 每 x 行显示处理进度 (默认500000) Import采用直接路径方式,等同于sqlldr的Direct方式导入(DIRECT=TRUE),nolog参数等同于sqldr的UNRECOVERABLE参数 ozoradts -exp userid=test/test@oradb columnover=";" query="select * from fct_serv_product_stats_bk where rownum<5" fixlen=yes enclose=\" nullif=NULL head=yes skip=1 errors=2 rows=3 load=8 control=fct_serv_product.ctl table=serv_pstats data="d:\temp\serv.txt" ozoradts -imp userid=test/test@oradb table=serv_stats data="d:\temp\serv.txt" columnover=";" enclose=\" skip=1 errors=2 rows=3 load=8 如遇软件缺陷与建议邮件至ozai@sohu.com,谢谢!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值