日本搞逼视频_黄色一级片免费在线观看_色99久久_性明星video另类hd_欧美77_综合在线视频

國內最全IT社區平臺 聯系我們 | 收藏本站
阿里云優惠2
您當前位置:首頁 > 數據庫 > Oracle > Oracle數據庫專享工具-SQL-Loader

Oracle數據庫專享工具-SQL-Loader

來源:程序員人生   發布時間:2014-05-30 23:10:16 閱讀次數:3898次
 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導入工具,可以把這些不符合規則的記錄分離出來,存放在一個獨立的文件中。而符合規則的數據,則可以被正常的導入。如此的話,就可以提高數據導入的準確性。
下面,我們來看看具體如何使用這個Oracle數據庫系統為我們準備的好幫手。

  一般SQL*Loader模塊至少需要兩個文件,才可以使用

  一是數據文件。數據文件,顧名思義,就是我們需要導入的數據集合。對于Oracle系統來說,其可以支持多個格式的數據文件,如逗號分隔符或者TAB鍵分隔符或者分號分隔符等文本文件,也支持固定寬度的文本文件等等。不過在實際應用中,用的最多的還是逗號分隔的文本文件。

  二是控制文件。控制文件其起的作用就是建立數據文件與Oralce數據表字段之間的一一對應關系。簡單的說,把數據文件中的某個內容放在Oracle數據表中的那個字段上,這就是控制文件所起的主要作用。

  另外還有一個文件,也非常有用,叫做壞文件。如果我們在命令行工具中,指定了這個壞文件,則導入過程中,一些導入不成功的記錄,則會被保存在這個壞文件中。所以,對于數據庫管理員來說,這個文件有時候往往比數據導入日志文件更加的實用。所以,筆者建議,若企業對于數據導入的準確性要求比較高的畫,則在使用SQL*Loader導入數據的時候,最好能夠指定這個壞文件。這對于我們后續核對導入數據的準確性,具有很大的實用價值。

  為了更好的使用這個導入工具,筆者有如下建議

  1、在制作數據文件的時候,需要注意原有數據表的限制。也就使說,數據文件中的記錄必須符合數據表的一些約束條件,否則,不符合條件的數據將無法被導入。如需要考慮數據類型是否相符、字段長度有沒有超過限制、有沒有違反主鍵、外鍵的約束等等。只有符合這些約束的記錄,才能夠被成功的導入。否則的話,數據將無法被成功裝載。為了避免這種情況,筆者建議再利用這個工具的時候,要指定“壞文件”。只有如此,數據庫才能夠再導入的過程中,把一些失敗的記錄寫到我們指定的文件中,如此,我們就可以通過調整,然后把這些不符合規則的數據也裝入到數據庫中去。

  2、前臺應用程序在設計基礎數據導入功能的時候,最好直接采用這個模塊。因為這個模塊跟Oracle數據庫集成的比較好,能夠最大限度的保障導入數據的準確性。而且,還可以節省很多前臺的程序代碼。不過有點值得可惜的是,SQL*Loader模塊,現在是Oracle數據庫獨享的應用模塊。也就是說,只有在Oracle數據庫平臺上的應用程序,才可以直接調用。若一個應用程序支持多個數據庫平臺的時候,則再設計這個數據導入功能的時候,需要注意了,這不像SQL語句那樣的通用。

  3、在數據導入之前,最好先最好相關的數據備份。無論是采用圖形化的數據導入工具,還是采用命令行的數據導入工具,有一個基本的原則,大家必須遵守,就使在成批導入數據之前,必須先作好數據庫的備份。如此可以把數據導入錯誤的影響降至到最低。

  4、嚴格限制數據導入的權限。雖然可以在后臺數據庫中限制SQL*Loader應用模塊的使用權限,不過,最好還是能夠在前臺應用程序中加以控制。如在前臺應用程序中,讓其只有系統管理員才能夠訪問這個基礎數據導入窗口等等。因為數據庫的訪問權限,在前臺實現的話,比較靈活。而在后臺固定死了的話,前臺系統權限設計往往會失去靈活性。這是我們在數據庫設計與前臺應用程序設計的時候,需要盡量避免的。

生活不易,碼農辛苦
如果您覺得本網站對您的學習有所幫助,可以手機掃描二維碼進行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關閉
程序員人生
主站蜘蛛池模板: av黄在线 | 久久a久久 | 成人免费视频在线观看 | 欧美在线一级 | 久久精品91 | 成人在线视频免费 | 亚洲第一福利视频 | 成人午夜毛片 | 日韩中文在线视频 | 97av免费视频 | 亚洲激情一区 | 精品久久久久久久久久久下田 | 日韩偷拍一区二区 | 99精品视频免费观看 | 久久久夜精品 | 国产一区高清 | 国产精品国产精品国产专区不卡 | 亚洲成人在线视频播放 | 国产一区二区三级 | 亚洲欧美视频在线观看 | 精品一区二区三区在线播放 | 99精品欧美一区二区蜜桃免费 | 久久高清| 高潮网站 | av片在线看 | 国产视频久久精品 | 粉嫩精品一区二区三区在线观看 | 日韩免费视频一区二区 | 97性视频 | 亚洲色图28p| 澳门永久av免费网站 | 偷自拍视频区综合视频区 | 国产欧美一区二区三区在线看 | 亚洲视频免费在线观看 | a黄色网 | 欧美日本色 | 国产日韩欧美 | 国产精品久久久久久久久久久免费看 | 国产精品欧美精品 | 三级网站免费观看 | 最新一级毛片 |