1. 程式人生 > >Excel資料匯入到Oracle有幾種方法

Excel資料匯入到Oracle有幾種方法

方法一、使用SQL*Loader

這個是用的較多的方法,前提必須oracle資料中目的表已經存在。大體步驟如下:
1
、將excel檔案另存為一個新檔案比如檔名為text.txt,檔案型別選文字檔案(製表符分隔),這裡選擇型別為csv(逗號分隔)也行,但是在寫後面的control.ctl時要將欄位終止符改為','(fields terminated by ','),假設儲存到c盤根目錄。
、如果沒有存在的表結構,則建立,假設表為test,有兩列為dmms
3
、用記事本建立SQL*Loader控制檔案,網上說的檔名字尾為ctl,其實我自己發現就用txt字尾也行。比如命名為control.ctl,內容如下:

(--後面的為註釋,實際不需要)

load data                   --控制檔案標識infile 'c:/text.txt'        --要輸入的資料檔名為test.txt
append into table test      --向表test中追加記錄fields terminated by X'09'  --欄位終止於X'09',是一個製表符(TAB(dm,ms)                     --定義列對應順序備註:資料匯入的方式上例中用的append,有一下幾種:insert,為預設方式,在資料裝載開始時要求表為空;append,在表中追加新記錄;replace

,刪除舊記錄,替換成新裝載的記錄;truncate,同replace4、在命令列提示符下使用SQL*Loader命令實現資料的輸入。

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

我來舉個例子

1.
匯出地區表的test.csv檔案
"01","
市區"
"02","
柯橋"
"03","
錢清"
"04","
皋埠"
"05","
漓渚"
"06","
齊賢"
"08","
袍江"
"09","
平水"
"12","
東浦"
....
2.
編輯sqlldr匯出控制檔案test.ctl內容如下:
load data
infile 'e:/test.csv'
replace into table test
fields terminated by ',' optionally enclosed by '"'
trailing nullcols
(id,name)

3.

cmd中執行:
E:/>sqlldr userid=xxx/[email protected] 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.
達到提交點,邏輯記錄計數48

方法二、利用PLSQL Developer
使用PLSQL Developer工具,這個可是大名鼎鼎的Oracle DBA最常使用的工具。在單個檔案不大的情況下(少於100000),並且目的表結構已經存在的情況下——對於excel而言肯定不會超過了,因為excel檔案的最大行為65536—— 可以全選資料COPY ,然後用PLSQL Developer工具。
PLSQL Developersql window裡輸入select * from test for update;
F8執行
開啟鎖再按一下加號滑鼠點到第一列的列頭,使全列成選中狀態,然後貼上,最後COMMIT提交即可。還有很多第三方工具,ToadPL/SQL DeveloperSQL Navigator等等。

方法三、使用其它資料轉移工具作中轉站。我使用的是Sql Server 2000先將excel表匯入sqlserver資料庫中,然後再從Sql server匯入到oracle中。這兩部操作都簡單,如果不會隨便查個幫助就可以了。這裡有兩個自己的經驗:

一、是注意excel檔案的版本和格式要與匯入到sql server時的資料來源匹配。如果匯入到sql server時的資料來源選Microsoft Excel 97-2000的話,而excel檔案的版本為Micaosoft Excel 5.0/95 工作簿,則有可能出問題。關於如何看Excle檔案格式,你開啟excel檔案,選擇另存為,即可看到像Micaosoft Excel 5.0/95 工作簿或者是Microsoft Office Excle 工作簿等等其它的儲存型別。

二、就是由Sqlserver匯入到oracle中時,記得將在oracle中的表名全部用大寫。因為oracle的表名都是大寫的,而sql的表可能是大小混寫的,所以匯入後在oracle裡查不到該表,比如這個Products表在oracle裡查詢就應該寫成select * from scott."Products";

相關推薦

Excel資料匯入Oracle方法

方法一、使用SQL*Loader 這個是用的較多的方法,前提必須oracle資料中目的表已經存在。大體步驟如下:1、將excel檔案另存為一個新檔案比如檔名為text.txt,檔案型別選文字檔案(製表符分隔),這裡選擇型別為csv(逗號分隔)也行,但是在寫後面的control.ctl時要將欄位終止符改為',

遠端連線伺服器上的oracle資料庫方法

第一種情況:   若oracle伺服器裝在本機上,那就不多說了,連線只是使用者名稱和密碼的問題了。不過要注意環境變數%ORACLE_HOME%/network/admin/是否設定。  第二種情況:   本機未安裝oracle伺服器,也未安裝oracle客戶端。但是安裝了pl

MongoDB資料讀寫的方法

1、MongoDB Shell Script mongoDB的命令列使用的是類似JavaScript指令碼的命令列互動,所以我們可以在shell當中使用JS的一些命令、函式等。 輸入mongo命令啟動mongo控制檯 然後參考官方文件操作mongo資料。 常用命令有

Hive資料匯入匯出的方式

一,Hive資料匯入的幾種方式 首先列出講述下面幾種匯入方式的資料和hive表。 Hive表: 建立testA: CREATE TABLE testA ( id INT, name string, area string ) PARTITIONED BY (crea

ASP.NET-GridView資料繫結的方法

前提:頁面需要顯示多個表中的欄位,幾個表之間通過欄位保持聯絡 方法一:直接進行級聯查詢,並將結果集通過SqlDataAdapter填充DataSet,之後將DataTable的DataView繫結到GridView的資料來源,: //連線資料庫,並獲得返回結果; public dataset GetR

用ado連線oracle方法

在利用ado連線資料庫之前,需要做一些準備1.用#import指令引入ADO型別庫我們在stdafx.h中加入如下語句:#import "c:program filescommon filessystemadomsado15.dll" no_namespace rename("EOF","adoEOF") 。

mysql匯出表資料到檔案的方法

方法一:SELECT...INTO OUTFILE mysql> select * from mytbl into outfile '/tmp/mytbl.txt'; Query OK, 3 rows affected (0.00 sec) 檢視mytbl.t

linux實現HA方法

【實驗配置環境】伺服器系統:CentOS-5.6LVS主節點(lvs-master):192.168.2.250(eth0) 心跳直連線口:192.168.1.250(eth1)LVS備節點(lvs-backup):192.168.2.251(eth0) 心跳直連線口:19

【技術支援】開發人員從客戶資料庫環境中匯出資料使用者測試的方法途徑

以下是一些批量匯出的方法: 1、客戶是oracle資料庫,使用exp/imp匯出全量庫。 # exp username1/[email protected]:port/tnsname file=bak-ip-sid-owner.dmp log=bak<s

在iOS中方法來解決多執行緒訪問同一個記憶體地址的互斥同步問題

方法一,@synchronized(id anObject),(最簡單的方法) 會自動對引數物件加鎖,保證臨界區內的程式碼執行緒安全 @synchronized(self)  {         

建立多執行緒方法?如何建立執行緒?

多執行緒有幾種實現方法? 多執行緒實現又3種方法,其中前兩中是常用的方法,推薦第二種方法,一個類應該在其修改或者加強是才繼承 1.繼承Thread類,重寫run()方法,例項化該類,呼叫執行緒start()方法 (1)自定義類,繼承Thread類,重寫run()方法 (2

快速地將Excel資料匯入到SQL2005中的方法

在查詢分析器裡,直接寫SQL語句: --啟用Ad Hoc Distributed Queries: exec sp_configure 'show advanced options',1 reconfigure exec sp_configure 'Ad Hoc Distr

Android Studio匯入專案的方法

Android Studio,最近也在試著使用它,原因是多方面的,一個畢竟是未來的趨勢,二則是github上越來越多的大牛開源專案都是基於Android Studio的,因此會使用Android Studio就成為一件必須的任務。 本文主要說一下如何在Android Studio中匯入已有的專案進去

java 程序間通訊的方法

歡迎訪問我的技術群425783133 程序間通訊的方法主要有以下幾種:   (1)管道(Pipe):管道可用於具有親緣關係程序間的通訊,允許一個程序和另一個與它有共同祖先的程序之間進行通訊。   (2)命名管道(named pipe):命名管道克服了管道沒有名字的限制,因此

java中方法可以實現一個執行緒?用什麼關鍵字修飾同步方法 stop()和suspend()方法為何不推薦使用?

java5以前,有兩種實現方法,分別使用new Thread()和new Thread(runnable)形式,第一種繼承Thread類,直接呼叫thread的run方法,所以,我們往往使用Thread子類,即new SubThread()。第二種是實現Runn

oracle update 方法容易理解和使用的更新命令

      習慣了SQL server的update寫法,感覺如此優雅和簡便,近期要用oracle,是如此的不方便。經過努力發現三種寫法還是很不錯的,真不愧是大佬。     例子:兩個表,結構相同,都有編號和名稱。           create table tb1(  

wordpress 匯入資料庫的方法

辛辛苦苦做了幾個月的部落格,因為一點小小原因,弄出了大問題!當然直接導致的結果就是----我下載重灌了部落格,以前的文章等等全沒有了。。。本來有備份資料庫的,但當時電腦開了“影子系統”我忘記另外備份了,哎!~。。心疼! 近10年,MySQL資料庫廣受網路大眾歡迎。現在,

如何新增HTML元素的事件處理,方法

新增html元素的事件有三種方法。 1.通過HTML元素屬性。簡單說來就是在html結構中,給你要新增事件的元素新增一個屬性。 屬性名為 ‘on’ + 事件名。 如:你要給a元素繫結一個click事件,你就該這麼寫: name 2.通過物件屬性。 物

HTML網頁訪問servlet方法

1, 表單:<form action=""></form> 2, 超連結:<a href=""></a> 3, 網頁後退:onclick="hist

java中方法可以實現一個執行緒?用什麼關鍵字修飾同步方法? stop()和suspend()方法為何不推薦使用?

java5以前,有如下兩種: 第一種: new Thread(){}.start();這表示呼叫Thread子類物件的run方法,new Thread(){}表示一個Thread的匿名子類的例項物件,子類加上run方法後的程式碼如下: new Thread(){ publi