主頁(yè) > 知識(shí)庫(kù) > Excel導(dǎo)入oracle的幾種方法

Excel導(dǎo)入oracle的幾種方法

熱門標(biāo)簽:美圖秀秀地圖標(biāo)注 征服者火車站地圖標(biāo)注 人工智能地圖標(biāo)注自己能做嗎 word地圖標(biāo)注方向 征服眼公司地圖標(biāo)注 阿爾巴尼亞地圖標(biāo)注app 開(kāi)封智能外呼系統(tǒng)廠家 百度地圖標(biāo)注素材 外呼線路外顯本地號(hào)碼

方法一、使用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 、如果沒(méi)有存在的表結(jié)構(gòu),則創(chuàng)建,假設(shè)表為test,有兩列為dm,ms。

3、用記事本創(chuàng)建SQL*Loader控制文件,網(wǎng)上說(shuō)的文件名后綴為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ù)裝載開(kāi)始時(shí)要求表為空;append,在表中追加新記錄;replace,刪除舊記錄,替換成新裝載的記錄;truncate,同replace。

4、在命令行提示符下使用SQL*Loader命令實(shí)現(xiàn)數(shù)據(jù)的輸入。
sqlldr userid=system/manager control='c:\control.ctl'

我來(lái)舉個(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:\bad.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

方法二、利用PLSQL Developer
使用PLSQL Developer工具,這個(gè)可是大名鼎鼎的Oracle DBA最常使用的工具。
在單個(gè)文件不大的情況下(少于100000行),并且目的表結(jié)構(gòu)已經(jīng)存在的情況下——對(duì)于excel而言肯定不會(huì)超過(guò)了,因?yàn)閑xcel文件的最大行為65536—— 可以全選數(shù)據(jù)COPY ,然后用PLSQL Developer工具。
  1 在PLSQL Developer的sql window里輸入select * from test for update;
  2 按F8執(zhí)行
  3 打開(kāi)鎖, 再按一下加號(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ù)庫(kù)中,然后再?gòu)腟ql server導(dǎo)入到oracle中。這兩部操作都簡(jiǎn)單,如果不會(huì)隨便查個(gè)幫助就可以了。

這里有兩個(gè)自己的經(jīng)驗(yàn):
一、是注意excel文件的版本和格式要與導(dǎo)入到sql server時(shí)的數(shù)據(jù)源匹配。如果導(dǎo)入到sql server時(shí)的數(shù)據(jù)源選Microsoft Excel 97-2000的話,而excel文件的版本為Micaosoft Excel 5.0/95 工作簿,則有可能出問(wèn)題。關(guān)于如何看Excle文件格式,你打開(kāi)excel文件,選擇另存為,即可看到像Micaosoft Excel 5.0/95 工作簿或者是Microsoft Office Excle 工作簿等等其它的保存類型。

二、就是由Sqlserver導(dǎo)入到oracle中時(shí),記得將在oracle中的表名全部用大寫。因?yàn)閛racle的表名都是大寫的,而sql的表可能是大小混寫的,所以導(dǎo)入后在oracle里查不到該表,比如這個(gè)Products表在oracle里查詢就應(yīng)該寫成select * from scott."Products";

您可能感興趣的文章:
  • Oracle 使用TOAD實(shí)現(xiàn)導(dǎo)入導(dǎo)出Excel數(shù)據(jù)
  • Oracle讀取excel數(shù)據(jù)
  • Oracle導(dǎo)出excel數(shù)據(jù)
  • 如何解決Oracle EBS R12 - 以Excel查看輸出格式為“文本”的請(qǐng)求時(shí)亂碼
  • 使用工具 plsqldev將Excel導(dǎo)入Oracle數(shù)據(jù)庫(kù)
  • Excel VBA連接并操作Oracle
  • 將Oracle數(shù)據(jù)庫(kù)中的數(shù)據(jù)寫入Excel

標(biāo)簽:孝感 六安 泰安 酒泉 海北 葫蘆島 宜春 淮南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Excel導(dǎo)入oracle的幾種方法》,本文關(guān)鍵詞  Excel,導(dǎo)入,oracle,的,幾種,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Excel導(dǎo)入oracle的幾種方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Excel導(dǎo)入oracle的幾種方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章