SQL*Loader,是Oracle數據庫系統提供的一個數據移植工具,它提供了一個命令行的方式,可以讓用戶成批的向Oracle數據庫中裝入大量數據。雖然Oracle數據庫與SQL Server數據庫都提供了圖形界面的導入工具,但是,圖形界面有一個很大的不足,就是不能夠直接給前臺程序引用。而命令行的導入模塊,則可以直接被前臺的應用程序所調用,這也是SQL*Loader之所以成為Oracle數據庫系統最通用的工具之一的原因。
SQL*Loader其具有如下的優勢:
一是可以直接被前臺應用程序調用。如開源的COMPIERE企業管理應用系統,其就是采用Oracle的數據庫系統。在COMPIERE這個應用系統中,有一項很強大的功能,就是數據導入功能。其不但可以按現有的模板導入數據,而且,用戶還可以自定義導入的格式。這對于系統在基礎數據導入的時候,非常的有用。 但是,其這個功能的開發,確很簡單,因為其基本上都是直接調用后臺數據庫系統中的SQL*Loader模塊。命令行模式的導入模塊,可以直接被前臺的應用程序調用,這是其最大的優勢。
二是可以從既定文件中大量導入數據。利用SQL*Loader工具,可以從既定文件中,如逗號分隔符文件或者固定寬度的文件,把這些文件中的大量記錄按照一定的規則導入到Oracle數據庫系統中去。這個導入的效率比圖形界面來說,也要高的多。
三是可以實現把多個數據文件合并成一個文件。我們都知道,Oracle數據庫中,可以把一個數據庫應用所需要的數據存放在多個數據文件中,以追求比較高的數據庫性能,以及比價高的數據庫安全性。但是,有時候,我們也可能需要把這幾個數據文件合二為一,此時,就可以采用SQL*Loader工具把它們進行合并。
四是修復、分離壞的記錄。有時候,我們需要導入的數據跟Oracle數據庫系統的數據表可能會存在一些沖突,導致數據導入的失敗。如可能需要導入的數據字段太長,超過了數據表的最大長度限制,此時,就會導致數據導入的失敗。利用SQL*Loader導入工具,可以把這些不符合規則的記錄分離出來,存放在一個獨立的文件中。而符合規則的數據,則可以被正常的導入。如此的話,就可以提高數據導入的準確性。