在工作中我們會遇到將通過數據手動錄入到系統中的需求,如果數據量比較小,那么手動輸入是可行的,倘若數據量很大,那么這些數據手動錄入將會是一個很大的工作量,為了簡化這個手動錄入的操作流程,我們可以使用Excel表格先將數據按照相關格式保存,然后再通過Excel表格數據導入Oracle 表的表中,這樣可以大大節約手動輸入的時間。但這樣做也不是沒有風險的,雖然我們手動輸入很慢和繁雜,但是如果系統對輸入數據有相關的事務記錄處理的話,那么每一筆數據來源都是可以事務處理查詢到的,如果使用Excel導入那么將對這些數據來源無法通過事務記錄查詢,所以對於輸入的數據最好做好一些備注。
那么如何將Excel的數據導入的Oracle的表中呢?
1.查詢對應Oracle表中有哪些數據列
2.在excel中按照oracle 表的數據列名建立表格並錄入數據
3.將建立的excel表格另存為csv的文件,並將其保存,如D:\import.csv
4.使用txt文檔創建input.txt輸入以下語句內容,修改其txt后綴txt為ctl,然后將其保存如D盤下。
load data
infile 'd:\import.csv'
append into table DRUG fields terminated by ','
trailing nullcols(DRUG_NAME,DRUG_ORDER,DRUG_ABBREVIATION,DRUG_DEPARTMENT)
說明:
5.最后打開cmd,輸入命令行sqlldr userid=用戶名/用戶密碼@數據庫名 control=D:\input.ctl ,將excel數據導入到數據庫表
6.執行完成后,若出現執行錯誤,當前目錄下會出現*.bad 文件,記錄了插入不成功的數據,可進行手動處理
7.若添加數據出現亂碼問題,使用notepad++等文本編輯器打開csv文件,檢查文件的編碼格式是否與Oracle數據的編碼格式一致,如果不一致則會導致網頁數據或數據庫數據亂碼發生。如果兩者不一致則調整csv編碼使其與Oracle數據一致