欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Oracle如何編寫一個sqlldr實例

 更新時間:2023年07月03日 09:14:54   作者:榴蓮小冰棍  
這篇文章主要介紹了Oracle如何編寫一個sqlldr實例,SQL*Loader是oracle的高速批量數(shù)據(jù)加載工具,這是一個非常有用的工具,可用于從多種平面文件格式向Oracle數(shù)據(jù)庫中加載數(shù)據(jù)。SQLLDR可以在極短的時間內(nèi)加載數(shù)量龐大的數(shù)據(jù),需要的朋友可以參考下

準備工作

首先在D盤創(chuàng)建文件夾,命名為sqlldr

具體步驟

1、整理要導入數(shù)據(jù),去除列名另存為csv文件

特別注意:csv文件是純文本文件,一般以逗號分隔,如果導入的數(shù)據(jù)中存在逗號,可以給表格中的數(shù)據(jù)加上雙引號將數(shù)據(jù)括起來。

數(shù)據(jù)內(nèi)容:

sn_orderitem_20210412

idorder_iditem_iditem_namepriceitem_num
AB001A0011001A0.151
AB002A0011002B201
AB003A0011003C402
AB004A0051001A0.151
AB005A0051004D2006
AB0015A0151005E40.51
AB0016A0191006F501
AB0017A0191007G24.52
AB0018A0201008H10.31
AB0001A,B

結(jié)果:

給表格數(shù)據(jù)加上引號:!"@!"

標將數(shù)據(jù)另存為CSV UTF-8(Comma delimited)格式,存入sqlldr文件夾

2、在Oracle上創(chuàng)建存放數(shù)據(jù)的Table

create table sn_orderitem_20210412(
id        varchar(20), 
order_id  varchar(20), 
item_id   varchar(20), 
item_name varchar(20),
price     number,
item_num  number);

3、創(chuàng)建ctl文件

1.在sqlldr里創(chuàng)建一個新的文本文件

2.編輯信息如下

load   data
characterset UTF8
infile   'D:\sqlldr\sn_orderitem_20210412.csv'
append   into   table   sn.sn_orderitem_20210412
fields terminated by ','
trailing nullcols
(id OPTIONALLY ENCLOSED BY '"'
,order_id OPTIONALLY ENCLOSED BY '"'
,item_id OPTIONALLY ENCLOSED BY '"'
,item_name OPTIONALLY ENCLOSED BY '"'
,price OPTIONALLY ENCLOSED BY '"'
,item_num OPTIONALLY ENCLOSED BY '"'
 )

3.將文本文件另存為 sn_orderitem_20210412.ctl

解析:

load   data                                    --控制文件標識
characterset UTF8                      --設(shè)置編碼格式,防止中文亂碼

infile   'XXX.csv'                           --即將導入的csv文件及路徑
append  into  table   XXX            --Oracle上創(chuàng)建的表,在原表進行追加數(shù)據(jù)
fields terminated by ','                --以逗號分隔 (分隔方式可以是空格,制表符X'09'……)
trailing nullcols                           --允許某地為空值,保證缺少部分字段時,整個表格不錯位
(XX optionally enclosed by '"'    --每個字段都是用“”包圍(當文本里的字符和分隔符有沖突是可以使用)
……
 )

拓展:

導入數(shù)據(jù)共有四種方式:

  • insert:為缺省方式,在數(shù)據(jù)裝載開始時要求表為空;
  • append:在表中追加新記錄;
  • replace:刪除舊記錄,替換成新裝載的記錄;
  • truncate:刪除舊記錄(用 truncate table 語句),替換成新裝載的記錄。

4、編寫Windows批處理文件

1.在sqlldr里創(chuàng)建一個新的文本文件

2.編輯信息如下

D:\app\isadmin\product\11.2.0\dbhome_1\BIN\SQLLDR.EXE userid=test/test@local11g control=D:\sqlldr\sn_orderitem_20210412.ctl log=D:\sqlldr\sn_orderitem_20210412.log bad=D:\sqlldr\sn_orderitem_20210412.bad  SILENT=(HEADER,FEEDBACK) errors=0

3.將文本文件另存為 sn_orderitem_20210412.bat

解析:

D:\app\isadmin\product\11.2.0\dbhome_1\bin\sqlldr.exe   --sqlldr工具調(diào)用

userid=test/test@local11g                                     --用戶名/密碼@庫名

control=D:\sqlldr\sn_orderitem_20210412.ctl        --控制文件絕對路徑

log=D:\sqlldr\sn_orderitem_20210412.log             --指定日志文件路徑

bad=D:\sqlldr\sn_orderitem_20210412.bad           --指定錯誤文件路徑

silent=(header,feedback)                                       --隱藏數(shù)據(jù)載入過程中的提示信息

errors=0                                                                   --允許錯誤行數(shù)為0

5、雙擊運行Windows批處理文件

6、查詢結(jié)果

導入Oracle里的數(shù)據(jù)會帶上雙引號,回去看了一下csv文件發(fā)現(xiàn),從excel里加引號后導出csv文件后,雙引號會變?yōu)槿?,故造成此結(jié)果,我的方法直接在txt文件中將三引號替換為雙引號后再導入,如果有其它方法的小伙伴可以評論區(qū)交流~當然如果你的數(shù)據(jù)里沒有出現(xiàn)逗號,可以不需要用引號來分隔,因此也不會出現(xiàn)這樣的問題啦
除了轉(zhuǎn)化為csv,也可以用txt文件進行導入,只需要將excel轉(zhuǎn)化為以制表符分隔的txt文本就可以了創(chuàng)建.bat Windows批處理文件的便利之處是可以重復使用,只需修改控制文件中需要變動的參數(shù)后再次運行就可以了,也可以進行批量導入

到此這篇關(guān)于Oracle如何編寫一個sqlldr實例的文章就介紹到這了,更多相關(guān)Oracle編寫sqlldr內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Oracle存儲過程返回游標實例詳解

    Oracle存儲過程返回游標實例詳解

    Oracle存儲過程返回游標有兩種實現(xiàn)方法一種是聲明系統(tǒng)游標,一種是聲明自定義游標,本文將詳細介紹,需要了解的朋友可以參考下
    2012-12-12
  • Oracle中Like與Instr模糊查詢性能大比拼

    Oracle中Like與Instr模糊查詢性能大比拼

    本文通過實例代碼給大家介紹了Oracle中Like與Instr模糊查詢性能對比,需要的朋友參考下吧
    2017-05-05
  • 基于ORA-12170 TNS 連接超時解決辦法詳解

    基于ORA-12170 TNS 連接超時解決辦法詳解

    本篇文章是對ORA-12170 TNS 連接超時的解決辦法進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06
  • Oracle監(jiān)聽日志定期清理

    Oracle監(jiān)聽日志定期清理

    這篇文章主要介紹了Oracle監(jiān)聽日志定期清理的相關(guān)資料,需要的朋友可以參考下
    2017-10-10
  • Oracle用戶密碼含有特殊字符導致無法登陸解決方法

    Oracle用戶密碼含有特殊字符導致無法登陸解決方法

    在客戶端上使用sqlplus用普通用戶可以登錄,但是system以及sys用戶均無法登錄,提示ORA-12154: TNS: 無法解析指定的連接標識符,本文將提供詳細的解決方法,需要了解的朋友可以參考下
    2012-11-11
  • Oracle中pivot函數(shù)示例詳解

    Oracle中pivot函數(shù)示例詳解

    PIVOT函數(shù)是Oracle數(shù)據(jù)庫中的一個聚合函數(shù),它可以將行數(shù)據(jù)轉(zhuǎn)換為列數(shù)據(jù),這篇文章主要介紹了Oracle中pivot函數(shù)示例詳解,需要的朋友可以參考下
    2024-05-05
  • Oracle數(shù)據(jù)庫中的優(yōu)化方法

    Oracle數(shù)據(jù)庫中的優(yōu)化方法

    這篇文章主要給大家介紹了Oracle數(shù)據(jù)庫中的優(yōu)化方法,Oracle數(shù)據(jù)庫是當前應用最廣泛的大型數(shù)據(jù)庫之一,其系統(tǒng)結(jié)構(gòu)復雜,性能受多方面因素影響,其中查詢操作是影響其性能的關(guān)鍵因素,需要的朋友可以參考下
    2023-07-07
  • Oracle記錄登錄用戶IP的方法小結(jié)

    Oracle記錄登錄用戶IP的方法小結(jié)

    在運維場景中,在定位到某個SQL引起系統(tǒng)故障之后,想知道是哪臺機器發(fā)過來的,方便定位源頭,該如何解決?在 Oracle 數(shù)據(jù)庫中記錄登錄用戶的 IP 地址可以通過多種方法實現(xiàn),本文給大家介紹了幾種常見方法,需要的朋友可以參考下
    2024-12-12
  • Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法

    Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法

    這篇文章主要介紹了Oracle DATABASE LINK(DBLINK)創(chuàng)建與刪除方法,需要的朋友可以參考下
    2016-02-02
  • Oracle對于死鎖的處理方法

    Oracle對于死鎖的處理方法

    這篇文章主要介紹了Oracle對于死鎖的處理方法,需要的朋友可以參考下
    2014-07-07

最新評論