溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么導(dǎo)入數(shù)據(jù)到oracle

發(fā)布時(shí)間:2021-08-31 11:12:26 來源:億速云 閱讀:194 作者:chen 欄目:數(shù)據(jù)庫

這篇文章主要介紹“怎么導(dǎo)入數(shù)據(jù)到oracle”,在日常操作中,相信很多人在怎么導(dǎo)入數(shù)據(jù)到oracle問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對(duì)大家解答”怎么導(dǎo)入數(shù)據(jù)到oracle”的疑惑有所幫助!接下來,請(qǐng)跟著小編一起來學(xué)習(xí)吧!

方法一,使用SQL*Loader

這個(gè)是用的較多的方法,前提必須oracle數(shù)據(jù)中目的表已經(jīng)存在。
大體步驟如下:
1 將excel文件另存為一個(gè)新文件比如文件名為text.txt,文件類型選文本文件(制表符分隔),這里選擇類型為csv(逗號(hào)分隔)也行,但是在寫后面的control.ctl時(shí)要將字段終止符改為','(fields terminated by ','),假設(shè)保存到c盤根目錄。
2 如果沒有存在的表結(jié)構(gòu),則創(chuàng)建,假設(shè)表為test,有兩列為dm,ms。
3 用記事本創(chuàng)建SQL*Loader控制文件,網(wǎng)上說的文件名后綴為ctl,其實(shí)我自己發(fā)現(xiàn)就用txt后綴也行。比如命名為control.ctl,內(nèi)容如下:(--后面的為注釋,實(shí)際不需要) 

  load data            --控制文件標(biāo)識(shí)
  infile 'c:\text.txt'     --要輸入的數(shù)據(jù)文件名為test.txt
  append into table test    --向表test中追加記錄
  fields terminated by X'09'  --字段終止于X'09',是一個(gè)制表符(TAB)
  (dm,ms)                    --定義列對(duì)應(yīng)順序
備注:數(shù)據(jù)導(dǎo)入的方式上例中用的append,有一下幾種:insert,為缺省方式,在數(shù)據(jù)裝載開始時(shí)要求表為空;append,在表中追加新記錄;replace,刪除舊記錄,替換成新裝載的記錄
;truncate,同replace。
4 在命令行提示符下使用SQL*Loader命令實(shí)現(xiàn)數(shù)據(jù)的輸入

sqlldr userid=system/manager control='c:\control.ctl'

我來舉個(gè)例子

1.導(dǎo)出地區(qū)表的test.csv文件
"01","市區(qū)"
"02","柯橋"
"03","錢清"
"04","皋埠"
"05","漓渚"
"06","齊賢"
"08","袍江"
"09","平水"
"12","東浦"
....

2.編輯sqlldr導(dǎo)出控制文件test.ctl內(nèi)容如下:
load data
infile 'e:\test.csv'
replace into table test
fields terminated by ',' optionally enclosed by '"'
trailing nullcols
(id,name)

3.在cmd中執(zhí)行:
E:\>sqlldr userid=xxx/yyy@dbxx control=e:\test.ctl log=e:\log.txt bad=e:\b
ad.txt

SQL*Loader: Release 8.1.7.0.0 - Production on 星期三 7月 20 21:28:06 2005

(c) Copyright 2000 Oracle Corporation.  All rights reserved.

達(dá)到提交點(diǎn),邏輯記錄計(jì)數(shù)48

E:\>
 更詳細(xì)的介紹請(qǐng)查看http://www-rohan.sdsu.edu/doc/oracle/server803/A54652_01/ch04.htm#793

方法二 利用PLSQL Developer

使用PLSQL Developer工具,這個(gè)可是大名鼎鼎的Oracle DBA最常使用的工具。
在單個(gè)文件不大的情況下(少于100000行),并且目的表結(jié)構(gòu)已經(jīng)存在的情況下——對(duì)于excel而言肯定不會(huì)超過了,因?yàn)閑xcel文件的最大行為65536—— 可以全選數(shù)據(jù)COPY ,然后用PLSQL Developer工具。
1 在PLSQL Developer的sql window里輸入select * from test for update;
2 按F8執(zhí)行
3 打開鎖, 再按一下加號(hào). 鼠標(biāo)點(diǎn)到第一列的列頭,使全列成選中狀態(tài),然后粘貼,最后COMMIT提交即可。
還有很多第三方工具,Toad,PL/SQL Developer,SQL Navigator等等。

方法三 使用其它數(shù)據(jù)轉(zhuǎn)移工具作中轉(zhuǎn)站。

我使用的是Sql Server 2000。
先將excel表導(dǎo)入sqlserver數(shù)據(jù)庫中,然后再從Sql server導(dǎo)入到oracle中。這兩部操作都簡單,如果不會(huì)隨便查個(gè)幫助就可以了。

到此,關(guān)于“怎么導(dǎo)入數(shù)據(jù)到oracle”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)砀鄬?shí)用的文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI