昨天碰到一個情況,內容單位希望自己可以有辦法匯入匯出資料庫,不用每次都要透過技術組支援,這件事其實有好有壞,好的是內容單位可以自己處理很多事物,避免時程的耽擱;麻煩的地方在於,如果匯入的時候發生了什麼問題,到時候技術組可能會更頭痛,不過既然內容單位有了這樣的要求,小蛙就順手把文件記錄在這!
這裡使用的是 Oracle SQL Developer 官方免費 Client,下載及設定可參考這裡。直接上圖 + 說明!
【資料匯出成 Excel】
開啟 Oracle SQL Developer 後,在要匯出的資料表上點選滑鼠右鍵,選擇「匯出(B)…」。
![2013-1-30 下午 03-54-37.png](http://lh6.ggpht.com/-HguTTGDVrcI/UT_1_qdI1XI/AAAAAAAAHbc/3aD3i-5oaMw/2013-1-30%252520%2525E4%2525B8%25258B%2525E5%25258D%252588%25252003-54-37.png)
由於只是要匯出資料,取消勾選「匯出DDL(E)」,勾選「匯出資料(O)」,格式選擇「xls」,選擇存放路徑(這邊要選擇單一檔案,不然會匯出空白的excel),編碼也要選擇正確,否則會有亂碼的情況。
![2013-3-13 上午 11-16-01.png](http://lh6.ggpht.com/-jK6XfcHirQw/UT_1_Z5lsxI/AAAAAAAAHbY/v4BWgOX25c4/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-16-01.png)
確認要匯出的資料,下方還可以設定只匯出某個條件下(where)成立的資料。
![2013-3-13 上午 11-16-10.png](http://lh6.ggpht.com/-GcoKKcPIAD8/UT_1_bitSuI/AAAAAAAAHaE/KI_Qq1Bb0_w/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-16-10.png)
完整匯出資訊。
![2013-3-13 上午 11-16-21.png](http://lh3.ggpht.com/-tn2TMtRmHKg/UT_1_7AwgXI/AAAAAAAAHbg/zUuuHfKbWiM/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-16-21.png)
點選完成後,開始匯出動作。
![2013-3-13 上午 11-16-30.png](http://lh6.ggpht.com/-T0OVujOCg9Q/UT_1_x6PaeI/AAAAAAAAHaU/g_Ar42fF_kg/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-16-30.png)
匯出完成可以到剛剛指定的路徑,看到剛剛匯出的 Excel。
![2013-3-13 上午 11-37-31.png](http://lh5.ggpht.com/-uf9QNqY_8VA/UT_8eGvR4xI/AAAAAAAAHec/I84H4qzW5jA/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-37-31.png)
【從 Excel 匯入資料】
匯入的部份也同樣簡單,在要匯入的資料表中點選「匯入資料」,也可以直接選擇匯入資料後再選擇要匯入的資料表,小蛙在這邊建了一個TEST資料表以供匯入測試。
![2013-3-13 上午 11-21-43.png](http://lh6.ggpht.com/-8BSdGFYLW0Q/UT_2AIjeNhI/AAAAAAAAHbk/Zay4VegSq6Y/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-21-43.png)
選擇要匯入的 Excel 檔案。
![2013-3-13 上午 11-22-11.png](http://lh3.ggpht.com/-mJxSdQYchIE/UT_2AevGXHI/AAAAAAAAHao/Now6FPgJU0g/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-22-11.png)
預覽要匯入的資料,看看從 excel 載入的資料正不正確,有沒有亂碼 … 等。
![2013-3-13 上午 11-22-20.png](http://lh5.ggpht.com/-U8UJOfcoU3U/UT_2AlsbddI/AAAAAAAAHak/NdvfF_OnXdM/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-22-20.png)
匯入方法選擇「插入」
![2013-3-13 上午 11-22-26.png](http://lh5.ggpht.com/-tZZwL9XXCCU/UT_2AoUj9nI/AAAAAAAAHa0/qFdut9ZsdwY/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-22-26.png)
這邊預設應該會全部先幫使用者選好,如果沒有的話,也可以自己選擇哪些欄位是要匯入的。
![2013-3-13 上午 11-22-31.png](http://lh5.ggpht.com/-_N2FLunOZu4/UT_8dcjQ3sI/AAAAAAAAHeY/4V-be3FFbyA/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-22-31.png)
選擇欄位對應,如果這邊匯入跟匯出都有勾選表頭的話,會自動使用表頭的欄位名稱來進行對應,否則要自己一一核對。
![2013-3-13 上午 11-22-39.png](http://lh4.ggpht.com/-f9RK0FgfAf4/UT_2BKTM8eI/AAAAAAAAHa8/v9YBoomkhoo/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-22-39.png)
真正匯入資料之前,可以點選「驗證」來看看這次的匯入匯不會有問題,如下圖提示在日期欄位發生錯誤。
![2013-3-13 上午 11-22-58.png](http://lh6.ggpht.com/-hAiR24E6EwM/UT_8d957MKI/AAAAAAAAHc4/mk6mQDY7H7k/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-22-58.png)
確認無誤,點選完成後開始匯入。
![2013-3-13 上午 11-32-05.png](http://lh4.ggpht.com/-KaMdXlCA-fQ/UT_2BpZWXZI/AAAAAAAAHbM/RL7DimoDyDA/2013-3-13%252520%2525E4%2525B8%25258A%2525E5%25258D%252588%25252011-32-05.png)
打完收工!
您好,在搜尋時找到這篇文章,對我蠻有幫助的
但仍想請教幾個問題:
我手邊有個別人給我的DMP檔
想匯出成excel可以讀的檔案
我是使用oracle 11g R2的版本
想請問如何將檔案匯入資料庫
可以在SQL Developer的介面中利用SQL指令做到嗎? (imp user/pwd@DB_name …)
這樣我可以在電腦中找到匯入的檔案嗎?如何指定目的地資料夾路徑?
抱歉因為不是相關背景的
只是為了解決手邊遇到的問題
所以在問題敘述上可能有些觀念不清
還請見諒
謝謝
Dear K:
實際上小蛙沒有透過 Oracle SQL Developer 做過 imp 的動作,
之前公司都是直接進 Oracle 機器到 command 下您說的指令,
您參考這篇 (https://community.oracle.com/thread/3566367) 看看,
不好意思!沒幫上忙!
iimp UserName/Pwd@dbName file=c:\test\a01.dmp