国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

sql loader的用法

2024-07-21 02:40:25
字體:
來源:轉載
供稿:網友

  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

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 正阳县| 吉林省| 武定县| 长沙县| 且末县| 喀喇沁旗| 依兰县| 双城市| 临泉县| 海阳市| 肃北| 荔波县| 福泉市| 翁源县| 临朐县| 望城县| 三河市| 平谷区| 绿春县| 榆中县| 舒兰市| 彩票| 班戈县| 长顺县| 安泽县| 台南市| 马关县| 平安县| 报价| 福州市| 洛南县| 久治县| 新竹县| 商洛市| 呼和浩特市| 蓝田县| 阳原县| 普兰县| 会理县| 东乡县| 滁州市|