`

SQL*Loader中文资料

阅读更多

sql loader可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,
是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。

Sqlldr

sql loader可以把一些以文本格式存放的数据顺利的导入到oracle数据库中,
是一种在不同数据库之间进行数据迁移的非常方便而且通用的工具。
缺点就速度比较慢,另外对blob等类型的数据就有点麻烦了。
用法: SQLLDR keyword=value [,keyword=value,...]
 
有效的关键字:
    userid -- ORACLE username/password
   control – 控制文件
       log – 记录的日志文件
       bad – 坏数据文件
      data – 数据文件
   discard – 丢弃的数据文件
discardmax – 允许丢弃数据的最大值        (全部默认)
      skip -- Number of logical records to skip  (默认0)
      load -- Number of logical records to load  (全部默认)
    errors – 允许的错误记录数          (默认50)
      rows -- Number of rows in conventional path bind array or between direct path data saves
                (每次提交的记录数,默认: 常规路径 64, 所有直接路径)
  bindsize -- Size of conventional path bind array in bytes(默认256000)
                每次提交记录的缓冲区的大小(字节为单位,默认256000)
    silent --禁止输出信息 (header,feedback,errors,discards,partitions)
    direct – 使用直通路径方式导入                    (默认FALSE)
   parfile -- parameter file: name of file that contains parameter specifications
  parallel -- 并行导入                   (默认FALSE)
       file -- File to allocate extents from
  与bindsize成对使用,其中较小者会自动调整到较大者
sqlldr先计算单条记录长度,乘以rows,如小于bindsize,不会试图扩张rows以填充bindsize;如超出,则以bindsize为准。
 
external_table
           -- use external table for load; NOT_USED, GENERATE_ONLY, EXECUTE(默认NOT_USED)
columnarrayrows
           -- Number of rows for direct path column array(默认5000)
streamsize -- Size of direct path stream buffer in bytes(默认256000)
multithreading
           -- use multithreading in direct path
 resumable -- enable or disable resumable for current session(默认FALSE)
resumable_name
           -- text string to help identify resumable statement
resumable_timeout
           -- wait time (in seconds) for RESUMABLE(默认7200)
date_cache -- size (in entries) of date conversion cache(默认1000)
 
注意:有两种方式可以指定命令行参数:通过位置或者通过关键字。前者的例子:'sqlldr scott/tiger foo';
后者的例子:'sqlldr control=foo userid=scott/tiger';
不能前面使用关键字指定后面通过位置制定的混合方式;
比如:'sqlldr scott/tiger control=foo logfile=log' 是允许的,
但'sqlldr scott/tiger control=foo log'不允许。
为清楚起见最好所有命令行参数都用关键字指定。
控制文件:
一个控制命令的脚本文件,通常以ctl结尾,内容如下:
LOAD DATA
INFILE 't.dat'              要导入的文件
// INFILE 'tt.date' 导入多个文件
// INFILE *               表示要导入的内容就在control文件里 下面的BEGINDATA后面就是导入的内容
 
INTO TABLE table_name    指定装入的表
BADFILE 'c:\bad.txt'    可选,指定坏文件地址,缺省在当前目录下生成与原文件名一致的.bad文件
 
************* 以下是4种装入表的方式
APPEND             原先的表有数据 就加在后面
INSERT             装载空表 如果原先的表有数据 sqlloader会停止 默认值
REPLACE           原先的表有数据 原先的数据会全部删除
TRUNCATE        指定的内容和replace的相同 会用truncate语句删除现存数据
 
************* 指定分隔符
FIELDS TERMINATED BY ',' OPTIONALLY ENCLOSED BY '"'
// TERMINATED BY WRITESPACE 以空白分割
 
TRAILING NULLCOLS            表的字段没有对应的值时允许为空
 
************* 下面是表的字段
(
col_1 , col_2 ,col_filler FILLER // FILLER 关键字 此列的数值不会被装载
// 如: lg,lg,not 结果 lg lg
)
如果没声明FIELDS TERMINATED BY ',' 时,可以用下面两种方式实现同样功能:
1.为每一列指定分隔符
 (
 col_1 [interger external] TERMINATED BY ',' ,
 col_2 [date "dd-mon-yyy"] TERMINATED BY ',' ,
 col_3 [char] TERMINATED BY ',' OPTIONALLY ENCLOSED BY 'lg'
 )
2.用位置告诉字段装载数据
 (
col_1 position(1:2),
 col_2 position(3:10),
 col_3 position(*:16), // 这个字段的开始位置在前一字段的结束位置
 col_4 position(1:16),
 col_5 position(3:10) char(8) // 指定字段的类型
 )
 
BEGINDATA         对应开始的 INFILE * 要导入的内容就在control文件里
10,Sql,what
20,lg,show

 

 

 

 

 

分享到:
评论

相关推荐

    SQL LOADER错误小结

    当在SQL*Loader中加载包含中文字符的数据时,如果字段出现乱码,通常是由于字符集不匹配导致的。为了解决这个问题,我们需要在控制文件中指定正确的字符集。例如,如果数据库字符集为ZHS16GBK或UTF8,可以使用以下...

    用C++ 产生 SQLLoader 各类文件

    在将Foxpro的dbf文件通过Oracle工具SQL*Loader加载到Oracle数据库中,通常需要经过一系列步骤,包括数据转换、创建表结构以及执行数据加载。本文主要介绍如何使用C++来自动化这个过程,提高效率。 1. **数据转换**...

    向ORACLE数据库复制数据的方法及应用.pdf

    本文将详细介绍两种主要的Oracle数据库复制方法:IMP/EXP命令和SQL*Loader装载器,并分析它们的应用场景和特点。 **1. IMP/EXP命令** IMP/EXP命令是Oracle提供的一种原生工具,用于数据库的备份和恢复,同时也是...

    BI ETL informatica Teradata SQLLoader 数据仓库

    SQLLoader.doc BI study plan—draft.doc Common+Warehouse+Metamodel(CWM)Specification.pdf Informatic PowerCenter7基础培训.pdf Informatica Install.doc Informatica training.ppt informatica介绍2010-5-25....

    EXCEL文件导入到ORACLE数据库[定义].pdf

    这样做是因为Oracle的SQL*Loader工具能够方便地处理这种格式的文件。打开Excel文件,选择“文件”菜单,然后选择“另存为”,在保存类型中选择“文本(制表符分隔)”,并将其命名为如"test.txt"。 接下来,我们...

    各种数据库的中文版罗斯文数据库(sql.bat.dat.mdb.lbf)

    Oracle数据库支持`.sql`文件执行,`.dat`文件的处理可能需要`SQL*Loader`工具。SQL Server同样接受`.sql`文件,而`.dat`文件的处理可能涉及`bcp`命令行工具或`Import/Export Wizard`。 通过这个中文版的罗斯文...

    Oracle to mysql 技术方案

    - **解压SQL*Loader工具**:将SQL*Loader工具解压到任意磁盘位置。 - **配置环境变量**:设置`ORACLE_HOME`环境变量指向`instantclient-basic-nt-11.2.0.4.0`的存放路径,并将该路径添加到`PATH`变量中。 - **验证...

    Oracle 乱码解决

    - **数据导入导出过程中的编码转换问题**:如使用SQL*Loader、EXPDP/IMPDP等工具进行数据迁移时,未设置合适的字符集参数。 - **客户端工具设置不当**:如PL/SQL Developer、SQL Developer等,其配置的字符集与...

    oracle database 11g 完整参考手册中文高清完整版part3

     第23章 用sql*loader 加载数据  第24章 使用data pump export 和data pump import  第25章 访问远程数据  第26章 使用物化视图  第27章 使用oracle text 进行文本搜索  第28章 使用外部表  第29章 使用闪回...

    oracle database 11g 高清完整中文版part2

     第23章 用sql*loader 加载数据  第24章 使用data pump export 和data pump import  第25章 访问远程数据  第26章 使用物化视图  第27章 使用oracle text 进行文本搜索  第28章 使用外部表  第29章 使用闪回...

    ob10 oracle客户端连接工具

    对于数据库管理员和开发人员来说,Oracle客户端工具还有其他高级特性,如性能监控、数据库备份恢复、数据导入导出(使用SQL*Loader和Data Pump)等。此外,还可以通过客户端工具进行PL/SQL编程,实现复杂的业务逻辑...

    Oracle 9i安装手册.doc

    6. **数据导入**:导入数据到Oracle数据库中,可以使用SQL*Loader、SQL插入语句或第三方工具,如Data Pump。SQL*Loader是一种批量导入数据的工具,通过控制文件定义数据格式,将数据从文本文件加载到数据库表中。 ...

    最新 Oracle OCP 11G 题库中文版及关键字

    9. **数据导入导出**:掌握使用SQL*Loader和Data Pump进行大量数据的导入导出,以及如何处理各种数据格式和约束。 10. **Oracle网络配置**:理解Oracle网络架构,包括TCP/IP、命名方法(如TNSNAMES.ORA)、监听器...

    数据库21的答案

    - **SQL*Loader**:用于加载外部数据到 Oracle 数据库中的工具。 - **SQL 脚本备份**:通过直接执行 SQL 脚本来备份数据定义语言(DDL)和数据操纵语言(DML)。 以上就是针对给定文件中的知识点的详细解析,希望对你...

    Oracle数据导入全程

    - **数据导入工具**:Oracle提供了多种工具来进行数据导入,主要包括`SQL*Loader`、`Data Pump`等。 - **SQL*Loader简介**:适用于大批量数据的快速加载,支持多种数据格式(如CSV、文本文件等)。 - **Data Pump...

    oracle 10.2 chm文档

    7. **数据仓库**:Oracle 10.2增强了数据仓库支持,如星型和雪花模型的优化,以及快速加载工具如Loader和SQL*Loader。 8. **网格计算**:Oracle Grid Infrastructure为大规模分布式计算提供了基础,支持Oracle RAC...

    oracle9i ocp 031中文版

    此外,还需要掌握数据导入导出(SQL*Loader和Export/Import工具)以及备份恢复策略。 4. **SQL和PL/SQL**:熟悉SQL语法,包括DML(插入、更新、删除)、DDL(创建、修改、删除表和其他对象)和查询语句。PL/SQL是...

    Oracle® Database Administrator's Guide

    8. **数据管理**:涉及表空间管理、数据文件管理、表和索引的创建与维护,以及数据导入导出工具如SQL*Loader和Data Pump的使用。 9. **性能监控和管理**:讲解了如何使用性能监控工具如V$视图、AWR(自动工作负载 ...

    Oracle 10g Concepts (Oracle 10g 概念中文手册)——破解版!!

    - SQL*Loader是一种快速批量加载数据到Oracle数据库的工具。 - **11.6 外部表** - 外部表允许直接访问位于文件系统或其他文件格式中的数据。 - **11.7 LogMiner** - LogMiner是用于从重做日志文件中提取更改数据...

Global site tag (gtag.js) - Google Analytics