CSV导入ORACLE.doc_第1页
CSV导入ORACLE.doc_第2页
CSV导入ORACLE.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

使用SQL*LOADER将TXT或CSV数据导入ORACLE(转)一、简介 SQL*LOADER是ORACLE的数据加载工具,通常用来将操作系统文件迁移到ORACLE数据库中。SQL*LOADER是大型数据仓库选择使用的加载方法,因为它提供了最快速的途径(DIRECT,PARALLEL)。使用前提是必须存在目标表。二、SQL*LOADER使用方法在Window系统下,SQLLoader的命令为sqlldr,在UNIX下一般为sqlldr/sqlload。有效的关键字:userid - ORACLE 用户名/口令control -控制文件名log -日志文件名bad -错误文件名,如果有的数据没有被处理,将会出现在这里data -数据文件名discard -废弃文件名discardmax -允许丢弃数据的数目 (全部默认)skip -要跳过的逻辑记录的数目 (默认0)load -要加载的逻辑记录的数目 (全部默认)errors -允许的错误记录数目 (默认50)rows -常规路径绑定数组中或直接路径保存数据间的行数(默认:常规路径 64,所有直接路径)bindsize -常规路径绑定数组的大小,以字节计算(默认65536)silent -运行过程中隐藏的信息 (header,feedback,errors,discards,partitions)direct -使用直接路径 (默认FALSE)parfile -参数文件:包含参数说明的文件的名称parallel -执行并行加载 (默认FALSE)file - 要从以下对象中分配区的文件skip_unusable_indexes - 不允许/允许使用无用的索引或索引分区 (默认 FALSE)skip_index_maintenance - 没有维护索引, 将受到影响的索引标记为无用 (默认 FALSE)commit_discontinued - 提交加载中断时已加载的行 (默认 FALSE)readsize - 读取缓冲区的大小 (默认 1048576)external_table - 使用外部表进行加载; NOT_USED, GENERATE_ONLY, EXECUTE (默认 NOT_USED)columnarrayrows - 直接路径列数组的行数 (默认 5000)streamsize - 直接路径流缓冲区的大小 (以字节计) (默认 256000)multithreading - 在直接路径中使用多线程resumable - 启用或禁用当前的可恢复会话 (默认 FALSE)resumable_name - 有助于标识可恢复语句的文本字符串resumable_timeout - RESUMABLE 的等待时间 (以秒计) (默认 7200)date_cache - 日期转换高速缓存的大小 (以条目计) (默认 1000)PLEASE NOTE: 命令行参数可以由位置或关键字指定。前者的例子是 sqlload scott/tiger foo; 后一种情况的一个示例是 sqlldr control=foo userid=scott/tiger.位置指定参数的时间必须早于但不可迟于由关键字指定的参数。例如,允许 sqlldr scott/tiger control=foo logfile=log, 但是不允许 sqlldr scott/tiger control=foo log, 即使参数 log 的位置正确。三、SQL*LOADER实例控制文件脚本实例:loaddata-控制文件表示infilee:aa.csv-有导入的数据文件名appendintotableTBL_SYNC_CORE_INSURANCE-向表TBL_SYNC_CORE_INSURANCE中追加记录fieldsterminatedby,-指定用逗号分隔OPTIONALLYENCLOSEDBYTRAILINGNULLCOLS-表的字段没有对应值时允许为空*下面是表的字段(COVERAGE_CODE,PRODUCT_NO,NAME,MAIN_COVERAGE_CODE,KIND,CREATOR,CREATED_DATE,MODIFIER,MODIFIED_DATE)备注:数据导入的方式上例中用的append,有一下几种:insert,为缺省方式,在数据装载开始时要求表为空;append,在表中追加新记录;replace,删除旧记录,替换成新装载的记录 ;truncate,同replace,会用truncate语句删除现存数据。在命令行提示符下使用SQL*Loader命令实现数据的输入:sqlldruserid=用户名/口令服务名 control=e:control.ctl log=e:log.txt bad=e:bad.txt 如果本地安装了oracle服务端,可以不写服务名;log和bad不写,默认生成在当前目录下。四、其他导入方法利用PLSQL Developer:在单个文件不大的情况下(少于100000行),并且目的表结构已经存在的情况下-对于excel而言肯定不会超过了,因为excel文件的最大行为65536-可以全选数据COPY ,然后用PLSQL Developer工具。1 在PLSQL Developer的sql window里输入select * from test for update; 2 按F8执行; 3 打开锁, 再按一下加号. 鼠标点到第一列的列头,使全列成选中状态,然后粘贴,最后COMMIT提交即可。五、补充在Linux下使用 sqlldr 的注意事项在执行 sqlldr 前,需要进行以下步骤1. 设置 ORACLE_HOME 环境变量,如 export ORACLE_HOME=/usr/lib/oracle/xe/app/oracle/product/10.2.0/ser

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论