今天我遇到了一個需求,是將一個DBF文件導入到Oracle庫中,之前一直使用的是公司提供的遷移工具,但是不知道怎麼回事今天一直報DBF文件無法訪問之類的錯誤,嘗試多次之後,一氣之下棄之不用,另尋他法。 ODBC(Open Database Connectivity)是微軟提供的,專門為解決異構資料庫 ...
- 今天我遇到了一個需求,是將一個DBF文件導入到Oracle庫中,之前一直使用的是公司提供的遷移工具,但是不知道怎麼回事今天一直報DBF文件無法訪問之類的錯誤,嘗試多次之後,一氣之下棄之不用,另尋他法。
ODBC(Open Database Connectivity)是微軟提供的,專門為解決異構資料庫間的數據共用而產生的,它建立了一組規範,並提供了一組對資料庫訪問的標準API(應用程式編程介面)。這些API利用SQL來完成其大部分任務。ODBC本身也提供了對SQL語言的支持,用戶可以直接將SQL語句送給ODBC,一個基於ODBC的應用程式對資料庫的操作不依賴任何DBMS,不直接與DBMS打交道,所有的資料庫操作由對應的DBMS的ODBC驅動程式完成。也就是說,不論是FoxPro、Access還是Oracle資料庫,均可用ODBC API進行訪問。由此可見,ODBC的最大優點是能以統一的方式處理所有的資料庫。
——以上內容來自百度
- 廢話不多說,我們首先打開ODBC數據源管理程式(32位),這裡因為我們的PLSQL是32位的,所以它也只能讀到32位的ODBC數據源。
- 我們要導入DBF文件,就需要能夠訪問DBF文件的驅動程式,這個東西呢就是Microsoft Visual FoxPro,就是一個長著狐狸頭的軟體啦,安裝方法不再闡述,請自行摸索。在安裝完VF之後,在ODBC數據源中就能夠找到圖中紅框中的這個數據源。(註意是Visual FoxPro Tables,不是Visual FoxPro Database)
- 在配置界面中,我們選擇DBF文件所在的文件夾(不是選DBF文件,選擇DBF所在的文件夾)。
- 配置完成DBF數據源後,我們使用需要導入的Oracle資料庫用戶登入PLSQL,打開ODBC導入器(工具-ODBC導入器)。先配置ODBC數據源,在連接中選擇之前配置好的數據源,連接到數據源;選擇需要導入的表,在下方的結果預覽中能夠看到數據源中的數據即為正常。
- 切換Tab頁到“到Oracle的數據”,選擇需要導入的表的用戶及其表名稱,事務提交的行數可以根據需要導入的數據量適當的調整,我這裡調整為1000條數據提交一次,導入的形式為覆蓋導入(主鍵重覆數據覆蓋而非跳過)。在欄位欄中,將DBF和Oracle資料庫的欄位進行對應,要註意欄位類型的選擇,不選擇欄位類型的話將不會導入該列數據。
- 完成導入,不光是DBF,EXCEL,ACCESS,SQLServer等都可以通過ODBC導入來實現數據的遷移。