使用sqlldr向Oracle导入大的文本(txt)文件
2014-06-27 12:12
288 查看
我们有多种方法可以向Oracle数据库里导入文本文件,但如果导入的文本文件过大,例如5G,10G的文本文件,有些方法就不尽如意了,例如PLSQL Developer中的导入文本功能,如果文本文件过大,不仅导入速度太慢,中间还容易出错。这时Sqlldr就能大显身手了,Sqlldr可以每秒向Oracle插入5W条数据,可以自定义控制文件,进行导入控制,而且导入过程不易出错,下面简易记录导入过程。
1.Sqlldr导入控制文件说明
2.在Oracle用户下执行导入命令
关于 optionally enclosed by 的小测试
左边没引号右边有引号:成功,原样导入
111"
222""
333"""
左边有引号右边没引号:失败, second enclosure string not present
"44
""555
"""666
左右有相等的奇数个引号,成功,引号数=2n+1时导入数据带有n个引号
"777"
"""888"""
左右有相等的偶数个引号,失败, no terminator found after TERMINATED and ENCLOSED field
""999""
""""AAA""""
一边奇数一边偶数:失败, 错误信息为上述两种
"BBB""
""CCC"
"""DDD""
""EEE"""
两边不等的偶数:失败, no terminator found after TERMINATED and ENCLOSED field
""FFF""""
""""GGG""
两边不等的奇数:成功,引号数=2n+1时导入数据带有n个引号
"HHH"""
"""III"
总结:要么左边不能带引号;如果有引号左右都必须为奇数个
1.Sqlldr导入控制文件说明
1 load data 2 infile '/home/oracle/42.txt' //文本文件的绝对位置 3 append into table doupoidx //要导入的表名称 4 fields terminated by ',' //分隔符定义,这里是逗号 5 OPTIONALLY ENCLOSED BY '"' //过滤"号 6 TRAILING NULLCOLS //对应字段的顺序。 7 ( 8 time TimeStamp 'yyyy-mm-dd hh24:mi:ss', 9 price, 10 volume, 11 interest 12 )
2.在Oracle用户下执行导入命令
sqlldr userid=scott/oracle@orcl control =/home/oracle/input.ctl //用户名/密码@实例名 control=控制文件的位置
关于 optionally enclosed by 的小测试
左边没引号右边有引号:成功,原样导入
111"
222""
333"""
左边有引号右边没引号:失败, second enclosure string not present
"44
""555
"""666
左右有相等的奇数个引号,成功,引号数=2n+1时导入数据带有n个引号
"777"
"""888"""
左右有相等的偶数个引号,失败, no terminator found after TERMINATED and ENCLOSED field
""999""
""""AAA""""
一边奇数一边偶数:失败, 错误信息为上述两种
"BBB""
""CCC"
"""DDD""
""EEE"""
两边不等的偶数:失败, no terminator found after TERMINATED and ENCLOSED field
""FFF""""
""""GGG""
两边不等的奇数:成功,引号数=2n+1时导入数据带有n个引号
"HHH"""
"""III"
总结:要么左边不能带引号;如果有引号左右都必须为奇数个
相关文章推荐
- 使用控制文件,将文本导入oracle
- oracle下的sqlldr命令使用方法(sqlldr工具的使用(批量将文本文件数据加载到数据表))
- 在oracle中,使用sqlldr将文件中的数据导入到数据库
- 使用sqlldr导入文本数据到oracle
- oracle中,使用sqlldr将文件中的数据导入到数据库
- 在oracle中 生成大规模数据 500万条 (使用导入数据方式 sqlldr 导入命令 *.ctl文件)
- Oracle txt文件直接使用sqldlr将数据导入到数据库表中
- Oracle使用sqlldr load导入txt出现中文乱码
- 在oracle中,使用sqlldr将文件中的数据导入到数据库
- oracle load导入TXT文件总结
- 不能使用文本编码“简体中文(Mac OS)”来打开文件“**.txt”问题的解决(转)
- 使用作业,每天定时将DB中信息导出到指定的文件夹中txt文本中(文件格式按照时间)
- txt文件导入oracle方法
- Oracle导入大量数据时使用控制文件导入数据的方法
- 文本如何导入oracle(sqlldr 的用法)3
- 使用oracle的utl_file包将数据导入到文本
- 用Oracle sqlldr导入文本文件TXT 总结
- TXT文件导入到ORACLE的控制文件的解决方案
- oracle表导入文本。txt数据
- Oracle使用par文件进行全库导入导出