Decode360's Blog

          業精于勤而荒于嬉 QQ:150355677 MSN:decode360@hotmail.com

            BlogJava :: 首頁 :: 新隨筆 :: 聯系 ::  :: 管理 ::
            397 隨筆 :: 33 文章 :: 29 評論 :: 0 Trackbacks
          <2008年12月>
          30123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          公告

          話到七分,酒至微醺,筆墨疏宕,言詞婉約,古樸殘破,含蓄醞籍,就是不完而美之最高境界。

          常用鏈接

          留言簿(13)

          隨筆分類(397)

          隨筆檔案(397)

          文章分類(33)

          新聞分類(15)

          收藏夾(74)

          Blog_List

          IT_Web

          My_Link

          最新隨筆

          最新評論

          Excel數據導入Oracle的方法
          ?
          ??? 最近同事遇到了每天手工導入Excel數據到Oracle的問題,他目前的操作是使用PL/SQL Developer中的復制粘貼方法,這樣每天都需要進行手工的操作,很明顯長期下來的工作量是比較大的,于是找了幾種可供使用的導入方法:
          ?
          ?
          一、直接使用SQL*Loader導入
          ?
          ??? SQL*Loader是Oracle自帶的數據加載工具,其數據導入比較專業,有各種參數及選項可供選擇,經常是作為數據倉庫中大型數據的導入方法選擇。
          ?
          ??? 優點:
          ??? 1、可將導入命令寫入BAT文件直接批量處理
          ??? 2、導入處理比較專業,提供各種參數選擇
          ??? 3、無需操作Oracle所在服務器
          ?
          ??? 缺點:
          ??? 1、Excel文件需要另存為txt或csv格式(似乎沒有自動完成的方法)
          ?
          ?
          ??? 總得來說這種方法是最值得采用的,可以自動建立操作系統的批處理文件執行SQLLDR命令,將數據導入原始接收表,并在數據庫中設置觸發器進行精細操作。
          ??? 關于SQL*Loader的具體操作,參見“SQL*Loader使用介紹”“SQL*Loader應用舉例”
          ?
          ?
          二、使用外部表直接更新Excel數據
          ?
          ??? Oracle的外部表其實也可以滿足將外部數據讀入數據庫的功能,但是其可操作性相比SQL*Loader還是要小很多
          ?
          ??? 優點:
          ??? 1、無需執行導入操作,更新外部文本文件后可直接查詢數據
          ??? 2、僅在查詢時操作一次數據,對系統資源占用較小
          ?
          ??? 缺點:
          ??? 1、需要建立directory ,一是要有權限,二是文件必須放到Oracle服務器上(似乎不能遠程)
          ??? 2、需要上傳文件,而且無法進行多表導入等復雜的操作
          ??? 3、同樣需要將Excel文件存儲為txt或csv格式
          ?
          ?
          ??? 這種方法對于權限要求高,操作性弱,僅針對于簡單的數據導入時使用。
          ??? 關于外部表的具體操作,參見“Oracle表介紹--外部表
          ?
          ?
          三、PL/SQL Developer粘貼法
          ?
          ??? 這種方法就比較簡單易用了,每次復制粘貼就行,只限于偶爾的導入使用,要是每天導入就累死人了。
          ?
          ??? 優點:
          ??? 1、操作便捷,簡單直接
          ??? 2、僅需要最簡單的update/insert/delete table權限
          ?
          ??? 缺點:
          ??? 1、只能對一張表進行操作,多表操作會十分復雜
          ??? 2、需要手動操作的工作量較大
          ??? 3、所有數據需在Excel中處理完畢,導入時無法進行任何簡單操作
          ?
          ?
          ??? 具體操作方法:
          ?
          ??? 1、在PL/SQL Developer中選擇需要操作的表,右鍵-Edit Data;
          ?????? <也可以在查詢窗口中輸入select * from table_name for update;然后點擊打開那個鎖>
          ??? 2、可以直接在數據窗口中修改或粘貼新的數據(注意格式);
          ??? 3、點擊那個鉤(Post Change);
          ??? 4、提交數據;
          ?
          ?
          四、使用Access中轉
          ?
          ??? 這種方法只是在網上看到了一下,對于Access沒有什么研究,但是覺得應該會有以下缺點
          ?
          ??? 1、導入無法自動刷新,甚至連簡單的點擊刷新也沒有
          ??? 2、需要建立ODBC、導入、導出等多步操作,工作量極大
          ??? 3、數據導入到Oracle中時,基本上沒有可操作性,只能最簡單的操作
          ?
          ??? 這種方法唯一的優點大概就是可以直接將Excel的數據導入到Access,但是操作步驟也比較多
          ?
          ??? 轉一下網上說的方法:
          ??? 1、在本地創建一個Access數據庫,將Excel數據先導入到Access。(直接右鍵-導入-Excel)
          ??? 2、在本地創建ODBC,鏈接oracle數據庫。將oracle中需要導入數據的表以鏈接表的方式在本地Access中創建
          ??? 3、在Access數據庫中創建插入查詢將導入好的Excel數據導入到oracle中
          ?
          ?
          ??? 這種方法基本沒有什么使用價值,除非是別的什么東西都沒有的情況下被迫使用。
          ?
          ?
          五、使用SQL Server中轉
          ?
          ??? 這種方法基本上和Access一樣,使用SQL Server自帶的工具先將數據從Excel創建到SQL Server,再導出到Oracle。
          ??? SQL Server的優點在于,它有自帶的導出工具,可以直接按向導創建ODBC、導入表名等。
          ?
          ??? 具體可參見“文件”中的“SQLSERVER導入ORACLE數據庫.pdf
          ?
          ?
          posted on 2008-12-24 20:25 decode360 閱讀(154) 評論(0)  編輯  收藏 所屬分類: 07.Oracle
          主站蜘蛛池模板: 通山县| 湟中县| 锡林郭勒盟| 孙吴县| 临漳县| 隆林| 鄱阳县| 册亨县| 淅川县| 澄江县| 白银市| 泰来县| 营口市| 怀安县| 佛教| 巨鹿县| 西畴县| 岳阳县| 保康县| 南漳县| 南开区| 大英县| 颍上县| 民勤县| 湖南省| 廊坊市| 韶关市| 连山| 江门市| 正宁县| 扬州市| 松潘县| 阿城市| 绥滨县| 安溪县| 龙山县| 麦盖提县| 滨海县| 安阳市| 仙桃市| 庆云县|