成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Oracle的SQLLDR用法簡(jiǎn)介

瀏覽:203日期:2023-09-12 20:47:51
目錄SQLLDR導(dǎo)入1.簡(jiǎn)介2.語(yǔ)法和參數(shù) 3. 范例 4.Sqlldr 有兩種使用方式其他SQLLDR導(dǎo)入1.簡(jiǎn)介

SQL*LOADER是ORACLE的數(shù)據(jù)加載工具,通常用來將操作系統(tǒng)文件(數(shù)據(jù))遷移到ORACLE數(shù)據(jù)庫(kù)中。SQL*LOADER是大型數(shù)據(jù)倉(cāng)庫(kù)選擇使用的加載方法,因?yàn)樗峁┝俗羁焖俚耐緩剑―IRECT,PARALLEL)。

2.語(yǔ)法和參數(shù)

語(yǔ)法: SQLLDR keyword=value [,keyword=value,...];

Sqlldr 參數(shù)一覽

Keyword默認(rèn)值描述useridORACLE 用戶名/口令 control控制文件名log日志文件名bad錯(cuò)誤文件名data數(shù)據(jù)文件名discard廢棄文件名discardmax全部允許廢棄的文件的數(shù)目skip0要跳過的邏輯記錄的數(shù)目load全部要加載的邏輯記錄的數(shù)目errors允許的錯(cuò)誤的數(shù)目rows常規(guī):64 默認(rèn)路徑:全部常規(guī)路徑綁定數(shù)組中或直接路徑保存數(shù)據(jù)間的行數(shù)bindsize256000常規(guī)路徑綁定數(shù)組的大小silent運(yùn)行過程中隱藏消息directFALSE使用直接路徑parfile參數(shù)文件: 包含參數(shù)說明的文件的名稱parallelFALSE執(zhí)行并行加載file執(zhí)行文件skip_unusable_indexesFALSE不允許/允許使用無用的索引或索引分區(qū)skip_index_maintenanceFALSE沒有維護(hù)索引, 將受到影響的索引標(biāo)記為無用commit_discontinuedFALSE提交加載中斷時(shí)已加載的行readsize1048576讀取緩沖區(qū)的大小external_tableNOT_USED使用外部表進(jìn)行加載; NOT_USED, GENERATE_ONLY, EXECUTEcolumnarrayrows5000直接路徑列數(shù)組的行數(shù)streamsize256000直接路徑流緩沖區(qū)的大小 (以字節(jié)計(jì))multithreading在直接路徑中使用多線程resumableFALSE啟用或禁用當(dāng)前的可恢復(fù)會(huì)話resumable_name有助于標(biāo)識(shí)可恢復(fù)語(yǔ)句的文本字符串resumable_timeout7200RESUMABLE 的等待時(shí)間 (以秒計(jì))date_cache1000日期轉(zhuǎn)換高速緩存的大小 (以條目計(jì))3. 范例

利用PLSQL生成測(cè)試數(shù)據(jù)cux_sqlldr_test.txt

BEGIN? FOR iIN1..100??? LOOP????? IFMOD(i,2)=1THEN??????? dbms_output.put_line('''||i||'','column1_'||i||'','||''column2_'||i||'','||''column3_'||i||'','||''show_column_'||i||'','||''hide_column_'||i||'','2017-01-01'');?????? ELSE??????? dbms_output.put_line('''||i||'','column1_'||i||'', ,'||''column3_'||i||'','||''show_column_'||i||'','||''hide_column_'||i||''');?????????????? ENDIF;??? ENDLOOP;END;

建表

CREATETABLE cux.cux_sqlldr_test(line_num?NUMBER,?seq_num NUMBER,?column1 VARCHAR2(30),?column2 VARCHAR2(30)NOTNULL,?column3 VARCHAR2(30)DEFAULT'column2',?show_column VARCHAR2(30),?hide_column VARCHAR2(30),?creation_date DATE);CREATEORREPLACE?SYNONYM apps.cux_sqlldr_test?FOR cux.cux_sqlldr_test;CREATESEQUENCE cux.cux_sqlldr_test_sSTARTWITH10001;CREATEORREPLACESYNONYM apps.cux_sqlldr_test_s FOR cux.cux_sqlldr_test_s;4.Sqlldr 有兩種使用方式

(1)在控制文件中包涵數(shù)據(jù).

創(chuàng)建一個(gè)文件命名為cux_sqlldr_test.ctl,在服務(wù)器下創(chuàng)建目錄Sqlldr,在sqlldr下創(chuàng)建log和bad文件夾,

上傳cux_sqlldr_test.ctl至服務(wù)器 ,如下圖所示:

cux_sqlldr_test.ctl內(nèi)容如下:

OPTIONS (skip=3,rows=128)load data?????CHARACTERSET ZHS16GBK??infile? *??????badfile? '/u02/ebsuat/app/fs2/EBSapps/appl/cux/12.0.0/sqlldr/bad/cux_sqlldr_test.bad'discardfile? '/u02/ebsuat/app/fs2/EBSapps/appl/cux/12.0.0/sqlldr/bad/cux_sqlldr_test.disc'?TRUNCATE into table cux_sqlldr_test?WHEN column1 != 'column1_1'Fields terminated by ','Optionally enclosed by '''TRAILING NULLCOLS?(line_num? RECNUM ,seq_num? 'cux_sqlldr_test_s.nextval' ,column1 ,column2 ,column3 NULLIF (column3='column3_4'),show_column 'UPPER(:show_column)' ,hide_column? FILLER ,?creation_date? DATE? 'YYYY-MM-DD' 'CASE WHEN :creation_date is null THEN TO_CHAR(sysdate,'YYYY-MM-DD')? ELSE :creation_date END')BEGINDATA'1','column1_1','column2_1','column3_1','show_column_1','hide_column_1','2017-01-01''2','column1_2', ,'column3_2','show_column_2','hide_column_2''3','column1_3','column2_3','column3_3','show_column_3','hide_column_3','2017-01-01''4','column1_4', ,'column3_4','show_column_4','hide_column_4''5','column1_5','column2_5','column3_5','show_column_5','hide_column_5','2017-01-01''6','column1_6', ,'column3_6','show_column_6','hide_column_6''7','column1_7','column2_7','column3_7','show_column_7','hide_column_7','2017-01-01''8','column1_8', ,'column3_8','show_column_8','hide_column_8''9','column1_9','column2_9','column3_9','show_column_9','hide_column_9','2017-01-01''10','column1_10', ,'column3_10','show_column_10','hide_column_10'

運(yùn)行命令

sqlldr userid=apps/appsjiahuicontrol=/u02/ebsuat/app/fs2/EBSapps/appl/cux/12.0.0/sqlldr/file/cux_sqlldr_test.ctl log=$CUX_TOP/sqlldr/file/cux_sqlldr_test.log

查看結(jié)果

查看表

由上圖可以看出,運(yùn)行命令后,在file文件夾下生成了cux_sqlldr_test.log,在bad下生成了cux_sqlldr_test.bad,在表中生成了3條記錄,下面分析一下cux_sqlldr_test.ctl的內(nèi)容和結(jié)果

代碼說明OPTIONS (skip=3,rows=128)sqlldr 的內(nèi)容可以寫在cotrol文件load_data的前面,此處跳過前3行,每次提交128行l(wèi)oad data 加載數(shù)據(jù)CHARACTERSET ZHS16GBK 字符集編碼(如果出現(xiàn)亂碼要考慮一下)infile * 加載的文件,* 表示本文件badfile 錯(cuò)誤的數(shù)據(jù)所放的文件(校驗(yàn)錯(cuò)誤)discardfile丟棄的數(shù)據(jù)放的路徑(記錄的格式錯(cuò)誤或過濾行)TRUNCATE into table cux_sqlldr_test 先TRUNCATE  cux_sqlldr_test再將記錄插入表WHEN column1 != "column1_1"過濾行,對(duì)于值為column1_1的行過濾Fields terminated by ","多個(gè)字段間用“,”隔開Optionally enclosed by '"'單個(gè)字段用“"”,“"”開始結(jié)束TRAILING NULLCOLS 對(duì)于值為空的字段允許為空(line_num RECNUM序號(hào),自動(dòng)生成,并不取自數(shù)據(jù)seq_num "cux_sqlldr_test_s.nextval"取每條記錄的第一個(gè)字段,此處應(yīng)為1..10,但是這里賦值序列。

表2

代碼說明column1column1column2column2,表定義為非空字段,雖然上面允許為空,但是如果該值為空,不能插入表種column3 NULLIF (column3="column3_4")column3="column3_4"時(shí)候默認(rèn)為空show_column "UPPER(:show_column)" 大寫列(調(diào)用UPPER大寫函數(shù))hide_column FILLERFILLER 隱藏列creation_date DATE 'YYYY-MM-DD'"CASE WHEN :creation_date is null THENTO_CHAR(sysdate,'YYYY-MM-DD') ELSE :creation_date END"日期類型,格式為YYYY-MM-DD,為空的時(shí)候取系統(tǒng)日期BEGINDATA數(shù)據(jù)開始*******數(shù)據(jù)內(nèi)容,默認(rèn)每行一條記錄

從日志可以看出7條數(shù)據(jù)中,4條記錄無法沒導(dǎo)入的原因。

查看cux_sqlldr_test.bad,其中記錄4條錯(cuò)誤的數(shù)據(jù)。

(2)在控制文件中不包涵數(shù)據(jù).

上傳cux_sqlldr_test.txt,cux_sqlldr_test.ctl至服務(wù)器,cux_sqlldr_test.txt由上面PLSQL腳本生成,cux_sqlldr_test.ctl如下

OPTIONS (skip=3,rows=128)load data???? CHARACTERSET ZHS16GBK??infile? '/u02/ebsuat/app/fs2/EBSapps/appl/cux/12.0.0/sqlldr/file/cux_sqlldr_test.txt'?????badfile? '/u02/ebsuat/app/fs2/EBSapps/appl/cux/12.0.0/sqlldr/bad/cux_sqlldr_test.bad'discardfile '/u02/ebsuat/app/fs2/EBSapps/appl/cux/12.0.0/sqlldr/bad/cux_sqlldr_test.disc'?TRUNCATE into table cux_sqlldr_test?WHEN column1 != 'column1_4'Fields terminated by ','Optionally enclosed by '''TRAILING NULLCOLS?(line_num? RECNUM ,seq_num? 'cux_sqlldr_test_s.nextval' ,column1 ,column2 'nvl(:column2,'***')',column3 NULLIF (column3='column3_4'),show_column 'UPPER(:show_column)' ,hide_column? FILLER ,?creation_date? DATE? 'YYYY-MM-DD' 'CASE WHEN :creation_date is null THEN TO_CHAR(sysdate,'YYYY-MM-DD')? ELSE :creation_date END')

運(yùn)行命令

sqlldr userid=apps/appsjiahuicontrol=/u02/ebsuat/app/fs2/EBSapps/appl/cux/12.0.0/sqlldr/file/cux_sqlldr_test.ctl log=$CUX_TOP/sqlldr/file/cux_sqlldr_test.log

100條數(shù)據(jù)由于skip = 3 從第4條開始處理變成97條,第四條數(shù)據(jù)由于WHEN column1 != "column1_4"

被丟棄在bad的cux_sqlldr_test.disc路徑下,沒有錯(cuò)誤數(shù)據(jù)。查看表共96條數(shù)據(jù),如下圖所示:

column2 "nvl(:column2,'***')", 對(duì)于 column2默認(rèn)為 “***” .

其他

此外,sqlload可以實(shí)現(xiàn)同時(shí)加載多個(gè)文件,同時(shí)把數(shù)據(jù)加載到多個(gè)表。

到此這篇關(guān)于Oracle的SQLLDR用法簡(jiǎn)介的文章就介紹到這了,更多相關(guān)Oracle SQLLDR內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

成人在线亚洲_国产日韩视频一区二区三区_久久久国产精品_99国内精品久久久久久久
亚洲激情综合网| 欧美成人一区二区| 精品国产乱码久久| 国产精品一区不卡| 欧美日韩激情一区| 蜜桃久久av一区| 久久一区视频| 亚洲欧美日本韩国| 亚洲人久久久| 中文字幕一区二区三中文字幕| 欧美另类亚洲| 国产精品久久午夜夜伦鲁鲁| 好看不卡的中文字幕| 中文字幕日韩一区| 亚洲国产专区校园欧美| 一区二区三区色| 久久aⅴ乱码一区二区三区| 亚洲成人av中文| 一本在线高清不卡dvd| 首页亚洲欧美制服丝腿| 色爱区综合激月婷婷| 日本美女视频一区二区| 色视频欧美一区二区三区| 久色婷婷小香蕉久久| 7777精品伊人久久久大香线蕉经典版下载 | 欧美日韩日本网| 亚洲欧美日韩国产手机在线 | 中文字幕一区二区日韩精品绯色| 国内精品久久久久久久影视蜜臀| 国产精品不卡在线| 日韩亚洲国产精品| 亚洲电影在线播放| 色老综合老女人久久久| 九九精品一区二区| 69av一区二区三区| av欧美精品.com| 亚洲国产精品av| 亚洲伦理精品| 日精品一区二区| 欧美麻豆精品久久久久久| 懂色av一区二区在线播放| 久久久国产一区二区三区四区小说 | 欧美三级电影精品| 国产91精品免费| 久久久精品欧美丰满| 亚洲性图久久| 亚洲午夜久久久久久久久电影院 | 91精品欧美久久久久久动漫| 国产69精品久久久久毛片| 精品粉嫩aⅴ一区二区三区四区| 91视频国产观看| 亚洲精品免费在线观看| 在线亚洲高清视频| 成人app下载| 亚洲免费在线看| 在线一区二区视频| www.成人在线| 亚洲美女偷拍久久| 欧美午夜理伦三级在线观看| 9久草视频在线视频精品| 中文字幕一区二区三区四区不卡| 午夜在线精品偷拍| 国产九色sp调教91| 中文字幕av一区二区三区免费看| 一区二区三区四区五区精品| 麻豆成人综合网| 欧美精品一区二区三区四区| 亚洲久久视频| 久久超碰97中文字幕| 精品国产3级a| 亚洲综合另类| 国产 日韩 欧美大片| 国产精品成人一区二区艾草 | 国产亚洲一区二区在线观看| 国产精品推荐精品| 国产麻豆精品视频| 中文在线免费一区三区高中清不卡| 国产亚洲亚洲| 高清成人免费视频| 一区二区三区av电影| 91麻豆精品国产91久久久使用方法 | 久久精品国产99国产| 国产亚洲短视频| 久久三级视频| 99久久久精品| 亚洲高清在线精品| 精品久久久久一区二区国产| 国产精品毛片在线看| 成人午夜视频福利| 香蕉成人啪国产精品视频综合网| 精品三级在线观看| 久久综合久久久| 99国产精品久| 日日夜夜免费精品| 日本一区二区三区久久久久久久久不| 91精品福利在线| 欧美日本高清| 久久99精品久久久久久国产越南 | 国产一区二区三区蝌蚪| 亚洲免费观看在线观看| 91麻豆精品国产| 亚洲区一区二| 成人国产精品免费观看动漫| 亚洲成av人片www| 久久精品视频在线看| 色94色欧美sute亚洲线路一久| 91偷拍与自偷拍精品| 免费看欧美美女黄的网站| 国产精品网站在线观看| 欧美精品日韩一区| 性色一区二区| 欧美破处大片在线视频| 国产一区二区三区| 亚洲3atv精品一区二区三区| 国产人成一区二区三区影院| 欧美日韩精品一区二区三区| 亚洲国产午夜| 99国产精品99久久久久久| 久久99蜜桃精品| 亚洲视频每日更新| 欧美精品一区在线观看| 欧美三电影在线| 国产精品日本| 欧美成人精品| 国产精品一区免费在线观看| 亚洲愉拍自拍另类高清精品| 国产日产精品一区| 欧美一级精品大片| 在线影院国内精品| 亚洲少妇一区| 亚洲特色特黄| 99视频有精品| 国产高清精品网站| 久久99精品国产| 丝袜亚洲另类丝袜在线| 亚洲女与黑人做爰| 国产日韩高清在线| 日韩欧美一二区| 欧美三区在线视频| 久久精品二区三区| 99爱精品视频| 国产精品二区三区四区| av成人免费在线观看| 国产精品一区免费视频| 捆绑紧缚一区二区三区视频| 视频在线观看91| 亚洲综合丁香婷婷六月香| 亚洲欧洲成人精品av97| 欧美激情在线看| 久久久91精品国产一区二区精品 | 欧美三级一区二区| 久久久久久夜| 国产欧美日韩一区| 亚洲三级免费| 黑丝一区二区| 国产精品a久久久久| 午夜精品国产| 欧美成人69| 欧美jjzz| 欧美在线日韩| 欧美国产综合| 欧美女人交a| 欧美日韩精品综合| 欧美日韩国产欧| 欧美一区亚洲| 欧美欧美全黄| 欧美日韩国产精品一卡| 欧美日本亚洲| 欧美日韩国产综合视频在线| 欧美日韩亚洲免费| 国产精品对白刺激久久久| 国产综合婷婷| 一区视频在线看| 欧美日韩网址| 国模精品娜娜一二三区| 欧美日本二区| 亚洲小说欧美另类婷婷| 亚洲免费久久| 亚洲综合国产| 日本伦理一区二区| 欧美日韩dvd在线观看| 4hu四虎永久在线影院成人| 欧美一级夜夜爽| 26uuu亚洲| 国产精品你懂的在线| 亚洲男人天堂av| 亚洲一区二区免费视频| 午夜精品久久久久久久久| 午夜国产精品一区| 男人的天堂亚洲一区| 国产综合一区二区| www.66久久| 午夜精品一区二区在线观看 | 日韩欧美一区二区免费| 精品av综合导航| 国产精品日韩精品欧美在线| 亚洲少妇中出一区| 亚洲bdsm女犯bdsm网站| 久久99热99| 99在线精品免费|