excel匯入ORACLE的四個方法
阿新 • • 發佈:2019-02-17
EXCEL裡匯入ORACLE有四種方法,結合網上的寫寫:
1 使用sql *loader
SQL*LOADER是oracle的資料載入工具,在NT下sql*loader的命令為SQLLDR,在UNIX下一般為SQLLDR/SQLLOAD。通常用來將作業系統檔案遷移到oracle資料庫中。它是大型資料倉庫選擇使用的載入方法,因為它提供了最快速的途徑(direct,parallel)。但這種方法要求儲存資料的oracle表是已經存在的。
使用這種方法匯入excel內容到oracle時,首先需要將excel檔案另存為文字格式,檔案型別選文字型別或者csv型別即將e:\test.xls另存為e:\test.csv。
如果oracle沒有對應儲存資料的表結構,則需要建立表test(id,name,telphone)。
用記事本建立sql*loader控制檔案test.ctl(ctl字尾是企圖證明這是一個控制檔案,但實際上這個檔案字尾不重要,使用者可以自由選擇,但檔案格式一定要是文字格式),內容如下:
Load data
Infile ‘e:\test.csv’ --資料來源檔名稱
Append|insert|replace --append在表後追加,insert插入空表,replace替代原有內容
Into table test --要匯入的資料庫表名稱
[when id = id_memo] --過濾條件
Fields terminated by X’09’ --欄位分隔符
(id,name,telphone) --欄位名稱列表
最後在命令視窗輸入sqlldr命令列執行匯入操作Sqlldr userid = system/manager control=’e:\test.ctl’
Sqlldr的函式關鍵字說明:
Userid --oracle使用者名稱 userid = username/password
Control --控制檔名稱 control = ‘e:\insert.ctl’
Log –-日誌檔名稱 log = ‘e:\insert.log’
Bad --損壞檔名稱
Data --data file name
Discard --discard file name
Discardmax --number of discards to allow(預設全部)
Skip --匯入時跳過的記錄行數(預設0)
Load --匯入時匯入的記錄行數(預設全部)
Errors --允許錯誤的記錄行數(預設50)
2 使用plsql developer
PL/SQL Developer是一種專門用於開發、測試、除錯和優化oracle PL/SQL儲存程式單元,比如觸發器,儲存過程,函式和程式包等整合開發環境。
在單個檔案資料不多(小於10w行),並且目的表結構已經存在的情況下可以使用plsql developer工具將excel內容直接通過簡單的copy,paste操作匯入oracle資料庫。具體操作方式如下:
l 在plsql developer的sql window裡輸入select * from test for update,其中test是要匯入的oracle資料表名稱;
l 執行查詢(通過點選按鈕或者快捷鍵F8可以實現);
l 點選查詢結果上面的鎖狀按鈕,使得查詢到的內容處於編輯狀態。
l 從excel資料表中copy(ctrl +C)要匯入oracle中的資料,如果是單列資料匯入,可以先按plsql developer中查詢結果上面的“新增(+)”按鈕,使得資料表處於新增資料狀態,然後將滑鼠在plsql developer的列名稱上單擊,最後使用快捷鍵ctrl + v 完成資料匯入操作,並單擊plsql developer中的“提交(對號)”按鈕提交所做的修改。
l 如果是同時匯入所有列,首先選擇copy所有資料,然後點增加(+)並點選編輯那一行最前面的星號使得整行資料都處於被選擇狀態,最後paste即可將資料匯入。
l 如果分列匯入資料,則需要逐列完成,首先選擇copy要匯入的資料,然後然後點增加(+)並點選編輯那一列的名稱,使得整列資料都處於被選擇狀態,最後paste即可將資料匯入。
使用PLSQL developer執行資料的匯入和匯出操作主要存在的問題是在大資料量情況下對中文資料可能出錯,估計將接收資料表的型別定義為nvarchar2的型別會比較好一點。另外,就是這種方法需要人工更多的參與,不能達到自動匯入的效果。
3 使用破解版的XLSTOORACLE,這個工具最簡單了,快捷方便,強烈推薦之!
1 使用sql *loader
SQL*LOADER是oracle的資料載入工具,在NT下sql*loader的命令為SQLLDR,在UNIX下一般為SQLLDR/SQLLOAD。通常用來將作業系統檔案遷移到oracle資料庫中。它是大型資料倉庫選擇使用的載入方法,因為它提供了最快速的途徑(direct,parallel)。但這種方法要求儲存資料的oracle表是已經存在的。
使用這種方法匯入excel內容到oracle時,首先需要將excel檔案另存為文字格式,檔案型別選文字型別或者csv型別即將e:\test.xls另存為e:\test.csv。
如果oracle沒有對應儲存資料的表結構,則需要建立表test(id,name,telphone)。
用記事本建立sql*loader控制檔案test.ctl(ctl字尾是企圖證明這是一個控制檔案,但實際上這個檔案字尾不重要,使用者可以自由選擇,但檔案格式一定要是文字格式),內容如下:
Load data
Infile ‘e:\test.csv’ --資料來源檔名稱
Append|insert|replace --append在表後追加,insert插入空表,replace替代原有內容
Into table test --要匯入的資料庫表名稱
[when id = id_memo] --過濾條件
Fields terminated by X’09’ --欄位分隔符
(id,name,telphone) --欄位名稱列表
最後在命令視窗輸入sqlldr命令列執行匯入操作Sqlldr userid = system/manager control=’e:\test.ctl’
Sqlldr的函式關鍵字說明:
Userid --oracle使用者名稱 userid = username/password
Control --控制檔名稱 control = ‘e:\insert.ctl’
Log –-日誌檔名稱 log = ‘e:\insert.log’
Bad --損壞檔名稱
Data --data file name
Discard --discard file name
Discardmax --number of discards to allow(預設全部)
Skip --匯入時跳過的記錄行數(預設0)
Load --匯入時匯入的記錄行數(預設全部)
Errors --允許錯誤的記錄行數(預設50)
2 使用plsql developer
PL/SQL Developer是一種專門用於開發、測試、除錯和優化oracle PL/SQL儲存程式單元,比如觸發器,儲存過程,函式和程式包等整合開發環境。
在單個檔案資料不多(小於10w行),並且目的表結構已經存在的情況下可以使用plsql developer工具將excel內容直接通過簡單的copy,paste操作匯入oracle資料庫。具體操作方式如下:
l 在plsql developer的sql window裡輸入select * from test for update,其中test是要匯入的oracle資料表名稱;
l 執行查詢(通過點選按鈕或者快捷鍵F8可以實現);
l 點選查詢結果上面的鎖狀按鈕,使得查詢到的內容處於編輯狀態。
l 從excel資料表中copy(ctrl +C)要匯入oracle中的資料,如果是單列資料匯入,可以先按plsql developer中查詢結果上面的“新增(+)”按鈕,使得資料表處於新增資料狀態,然後將滑鼠在plsql developer的列名稱上單擊,最後使用快捷鍵ctrl + v 完成資料匯入操作,並單擊plsql developer中的“提交(對號)”按鈕提交所做的修改。
l 如果是同時匯入所有列,首先選擇copy所有資料,然後點增加(+)並點選編輯那一行最前面的星號使得整行資料都處於被選擇狀態,最後paste即可將資料匯入。
l 如果分列匯入資料,則需要逐列完成,首先選擇copy要匯入的資料,然後然後點增加(+)並點選編輯那一列的名稱,使得整列資料都處於被選擇狀態,最後paste即可將資料匯入。
使用PLSQL developer執行資料的匯入和匯出操作主要存在的問題是在大資料量情況下對中文資料可能出錯,估計將接收資料表的型別定義為nvarchar2的型別會比較好一點。另外,就是這種方法需要人工更多的參與,不能達到自動匯入的效果。
3 使用破解版的XLSTOORACLE,這個工具最簡單了,快捷方便,強烈推薦之!