多多色-多人伦交性欧美在线观看-多人伦精品一区二区三区视频-多色视频-免费黄色视屏网站-免费黄色在线

國內(nèi)最全I(xiàn)T社區(qū)平臺 聯(lián)系我們 | 收藏本站
阿里云優(yōu)惠2
您當(dāng)前位置:首頁 > 數(shù)據(jù)庫 > Oracle > Oracle數(shù)據(jù)庫專享工具-SQL-Loader

Oracle數(shù)據(jù)庫專享工具-SQL-Loader

來源:程序員人生   發(fā)布時(shí)間:2014-05-30 23:10:16 閱讀次數(shù):3888次
 SQL*Loader,是Oracle數(shù)據(jù)庫系統(tǒng)提供的一個數(shù)據(jù)移植工具,它提供了一個命令行的方式,可以讓用戶成批的向Oracle數(shù)據(jù)庫中裝入大量數(shù)據(jù)。雖然Oracle數(shù)據(jù)庫與SQL Server數(shù)據(jù)庫都提供了圖形界面的導(dǎo)入工具,但是,圖形界面有一個很大的不足,就是不能夠直接給前臺程序引用。而命令行的導(dǎo)入模塊,則可以直接被前臺的應(yīng)用程序所調(diào)用,這也是SQL*Loader之所以成為Oracle數(shù)據(jù)庫系統(tǒng)最通用的工具之一的原因。 

  SQL*Loader其具有如下的優(yōu)勢

  一是可以直接被前臺應(yīng)用程序調(diào)用。如開源的COMPIERE企業(yè)管理應(yīng)用系統(tǒng),其就是采用Oracle的數(shù)據(jù)庫系統(tǒng)。在COMPIERE這個應(yīng)用系統(tǒng)中,有一項(xiàng)很強(qiáng)大的功能,就是數(shù)據(jù)導(dǎo)入功能。其不但可以按現(xiàn)有的模板導(dǎo)入數(shù)據(jù),而且,用戶還可以自定義導(dǎo)入的格式。這對于系統(tǒng)在基礎(chǔ)數(shù)據(jù)導(dǎo)入的時(shí)候,非常的有用。 但是,其這個功能的開發(fā),確很簡單,因?yàn)槠浠旧隙际侵苯诱{(diào)用后臺數(shù)據(jù)庫系統(tǒng)中的SQL*Loader模塊。命令行模式的導(dǎo)入模塊,可以直接被前臺的應(yīng)用程序調(diào)用,這是其最大的優(yōu)勢。

  二是可以從既定文件中大量導(dǎo)入數(shù)據(jù)。利用SQL*Loader工具,可以從既定文件中,如逗號分隔符文件或者固定寬度的文件,把這些文件中的大量記錄按照一定的規(guī)則導(dǎo)入到Oracle數(shù)據(jù)庫系統(tǒng)中去。這個導(dǎo)入的效率比圖形界面來說,也要高的多。

  三是可以實(shí)現(xiàn)把多個數(shù)據(jù)文件合并成一個文件。我們都知道,Oracle數(shù)據(jù)庫中,可以把一個數(shù)據(jù)庫應(yīng)用所需要的數(shù)據(jù)存放在多個數(shù)據(jù)文件中,以追求比較高的數(shù)據(jù)庫性能,以及比價(jià)高的數(shù)據(jù)庫安全性。但是,有時(shí)候,我們也可能需要把這幾個數(shù)據(jù)文件合二為一,此時(shí),就可以采用SQL*Loader工具把它們進(jìn)行合并。

  四是修復(fù)、分離壞的記錄。有時(shí)候,我們需要導(dǎo)入的數(shù)據(jù)跟Oracle數(shù)據(jù)庫系統(tǒng)的數(shù)據(jù)表可能會存在一些沖突,導(dǎo)致數(shù)據(jù)導(dǎo)入的失敗。如可能需要導(dǎo)入的數(shù)據(jù)字段太長,超過了數(shù)據(jù)表的最大長度限制,此時(shí),就會導(dǎo)致數(shù)據(jù)導(dǎo)入的失敗。利用SQL*Loader導(dǎo)入工具,可以把這些不符合規(guī)則的記錄分離出來,存放在一個獨(dú)立的文件中。而符合規(guī)則的數(shù)據(jù),則可以被正常的導(dǎo)入。如此的話,就可以提高數(shù)據(jù)導(dǎo)入的準(zhǔn)確性。
下面,我們來看看具體如何使用這個Oracle數(shù)據(jù)庫系統(tǒng)為我們準(zhǔn)備的好幫手。

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

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

  二是控制文件。控制文件其起的作用就是建立數(shù)據(jù)文件與Oralce數(shù)據(jù)表字段之間的一一對應(yīng)關(guān)系。簡單的說,把數(shù)據(jù)文件中的某個內(nèi)容放在Oracle數(shù)據(jù)表中的那個字段上,這就是控制文件所起的主要作用。

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

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

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

  2、前臺應(yīng)用程序在設(shè)計(jì)基礎(chǔ)數(shù)據(jù)導(dǎo)入功能的時(shí)候,最好直接采用這個模塊。因?yàn)檫@個模塊跟Oracle數(shù)據(jù)庫集成的比較好,能夠最大限度的保障導(dǎo)入數(shù)據(jù)的準(zhǔn)確性。而且,還可以節(jié)省很多前臺的程序代碼。不過有點(diǎn)值得可惜的是,SQL*Loader模塊,現(xiàn)在是Oracle數(shù)據(jù)庫獨(dú)享的應(yīng)用模塊。也就是說,只有在Oracle數(shù)據(jù)庫平臺上的應(yīng)用程序,才可以直接調(diào)用。若一個應(yīng)用程序支持多個數(shù)據(jù)庫平臺的時(shí)候,則再設(shè)計(jì)這個數(shù)據(jù)導(dǎo)入功能的時(shí)候,需要注意了,這不像SQL語句那樣的通用。

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

  4、嚴(yán)格限制數(shù)據(jù)導(dǎo)入的權(quán)限。雖然可以在后臺數(shù)據(jù)庫中限制SQL*Loader應(yīng)用模塊的使用權(quán)限,不過,最好還是能夠在前臺應(yīng)用程序中加以控制。如在前臺應(yīng)用程序中,讓其只有系統(tǒng)管理員才能夠訪問這個基礎(chǔ)數(shù)據(jù)導(dǎo)入窗口等等。因?yàn)閿?shù)據(jù)庫的訪問權(quán)限,在前臺實(shí)現(xiàn)的話,比較靈活。而在后臺固定死了的話,前臺系統(tǒng)權(quán)限設(shè)計(jì)往往會失去靈活性。這是我們在數(shù)據(jù)庫設(shè)計(jì)與前臺應(yīng)用程序設(shè)計(jì)的時(shí)候,需要盡量避免的。

生活不易,碼農(nóng)辛苦
如果您覺得本網(wǎng)站對您的學(xué)習(xí)有所幫助,可以手機(jī)掃描二維碼進(jìn)行捐贈
程序員人生
------分隔線----------------------------
分享到:
------分隔線----------------------------
關(guān)閉
程序員人生
主站蜘蛛池模板: 97理论三级九七午夜在线观看 | 日本福利片午夜免费观着 | 自拍一区在线 | 久久国产精品亚洲一区二区 | 一区二区三| 羞羞网站在线观看 | 欧美一级毛片免费大片 | 性欧美极品xxxx欧美一区二区 | 边吃奶边操| 亚洲综合亚洲综合网成人 | 久久大香伊焦在人线免费 | 亚洲视频中文字幕在线 | 欧美一级在线 | 久久一区不卡中文字幕 | 国产午夜精品一区二区三区 | 亚洲精品专区一区二区欧美 | 成人精品福利 | 在线观看a网站 | 最新国产精品亚洲二区 | 天天在线天天综合网色 | 精品欧美激情在线看 | 亚洲小视频在线 | 国产真实偷乱小说 | 久久国产欧美日韩高清专区 | 亚洲图片天堂 | 网站在线免费观看 | 中文字幕一区二区在线播放 | 日本午夜在线观看 | 久久国产一区二区三区 | 欧美日韩国产亚洲一区二区三区 | 最近最新中文字幕8 | 欧美高清 hd videotv | 欧洲亚洲一区 | 国产一级淫片a免费播放口之 | 爱色aⅴ| 亚洲欧美一区二区三区另类 | 亚洲精品主播一区二区三区 | 国产福利第一视频 | 欧美国产日韩一区二区三区 | 鲁在线 | 69xx在线观看视频 |