分享
 
 
 

sql loader的用法

王朝mssql·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

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

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有