亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        JDBC 驅(qū)動程序工作方式分析與比較

        2013-07-30 04:07:40馮永亮
        電子測試 2013年10期
        關(guān)鍵詞:網(wǎng)絡(luò)協(xié)議中間件驅(qū)動程序

        馮永亮,王 茹

        (1.西安文理學(xué)院數(shù)學(xué)與計算機工程學(xué)院,陜西西安,710065)

        (2.西安軍需工業(yè)學(xué)校,陜西西安,710068)

        0 引言

        作為Java EE 技術(shù)框架中的核心服務(wù)技術(shù),JDBC(Java Database Connectivity,Java 數(shù)據(jù)庫連接)提供了Java 程序與數(shù)據(jù)庫之間的連接服務(wù)。

        1 JDBC 驅(qū)動程序的工作原理

        JDBC 體系結(jié)構(gòu)主要由以下幾層構(gòu)成:Java Application 層,JDBC API 層、JDBC Driver Manager 層和Database 層,如圖1所示。其中,Java Application 層包括Java 應(yīng)用程序和Java小應(yīng)用程序。JDBC API 層屏蔽了不同數(shù)據(jù)庫驅(qū)動程序之間的差別,為在Java 中訪問任意類型的數(shù)據(jù)庫提供了技術(shù)支持。JDBC Driver Manager 層能夠動態(tài)的管理和維護數(shù)據(jù)庫查詢所需的驅(qū)動程序?qū)ο?,進而實現(xiàn)程序與特定驅(qū)動程序的連接。Database Driver 將應(yīng)用程序數(shù)據(jù)處理要求,轉(zhuǎn)換為DBMS 能夠理解的命令。Database 層包括要訪問的數(shù)據(jù)庫及數(shù)據(jù)庫管理系統(tǒng)。

        圖1 JDBC 兩層結(jié)構(gòu)

        目前,JDBC 驅(qū)動程序采用四種工作方式:JDBC-ODBC 橋驅(qū)動、本地API 驅(qū)動、網(wǎng)絡(luò)協(xié)議驅(qū)動和本地協(xié)議驅(qū)動。

        2 幾種工作方式的特工作原理和特征分析

        2.1 JDBC-ODBC 橋驅(qū)動方式

        此種方式下,JDBC 只需要連接到ODBC,通過ODBC 可以連接到ODBC 支持的任意一種數(shù)據(jù)庫,這種連接方式叫做JDBC-ODBC橋。在圖1 中的JDBC Driver Manager 層和Database Driver 層之間,增加了JDBC-ODBC Bridge 層和ODBC Driver 層,就構(gòu)成了JDBC-ODBC 橋驅(qū)動結(jié)構(gòu)。使用JDBC-ODBC 橋方式的核心代碼是:

        Class.forName(“sun.jdbc.odbc.JdbcOdbcDriver”);

        Connectionconn=Driver Manager.getConnection(“jdbc:odbc:數(shù)據(jù)源名稱”);

        該驅(qū)動的優(yōu)勢在于:只要本地機裝有ODBC 驅(qū)動,采用JDBCODBC 橋幾乎可以訪問所有的數(shù)據(jù)庫。但是,由于JDBC-ODBC 先調(diào)用ODBC,再由ODBC 去調(diào)用本地數(shù)據(jù)庫接口訪問數(shù)據(jù)庫。執(zhí)行效率比較低,對于那些大數(shù)據(jù)量存取的應(yīng)用是不適合的。

        2.2 本地API 驅(qū)動方式

        本地API 驅(qū)動方式通過在客戶端加載數(shù)據(jù)庫廠商提供的本地代碼庫來訪問數(shù)據(jù)庫,而在驅(qū)動程序中則包含了Java 代碼。這種驅(qū)動工作方式效率優(yōu)于JDBC-ODBC 橋方式。但是,它仍然需要在客戶端加載數(shù)據(jù)庫廠商提供的代碼庫,不適合基于Internet 的應(yīng)用。本地API 驅(qū)動工作方式在圖1 中的JDBC Driver Manager 層和Database Driver 層之間,增加了Native-API Driver 層。

        使用本地API 驅(qū)動工作方式,在JDBC 代碼中,設(shè)定特定的驅(qū)動程序名稱和url。不同的驅(qū)動程序和不同的數(shù)據(jù)庫,應(yīng)采用不同驅(qū)動程序名稱和url。以O(shè)racle 為例,核心代碼如下:

        2.3 網(wǎng)絡(luò)協(xié)議驅(qū)動方式

        這種驅(qū)動的機制是將JDBC 調(diào)用轉(zhuǎn)換為中間網(wǎng)絡(luò)協(xié)議,然后轉(zhuǎn)換為DBMS 協(xié)議。JDBC 先把對數(shù)據(jù)庫的訪問請求傳遞給網(wǎng)絡(luò)上的中間件服務(wù)器。中間件服務(wù)器再把請求翻譯為符合數(shù)據(jù)庫規(guī)范的調(diào)用,再把這種調(diào)用傳給數(shù)據(jù)庫服務(wù)器。中間網(wǎng)絡(luò)協(xié)議層起到一個讀取數(shù)據(jù)庫的中間件的作用,能夠連接許多類型的數(shù)據(jù)庫,因而是最靈活的JDBC 模式。

        此方式不需要在客戶端加載數(shù)據(jù)庫廠商提供的代碼庫,單個驅(qū)動程序可以對多個數(shù)據(jù)庫進行訪問,可擴充性較好。但是,這種驅(qū)動在中間件層仍然需要有配置其它數(shù)據(jù)庫驅(qū)動程序,并且由于多了一個中間層傳遞數(shù)據(jù),執(zhí)行效率不是很高。

        2.4 本地協(xié)議驅(qū)動方式

        這種類型的驅(qū)動使用Socket,直接在客戶端和數(shù)據(jù)庫間通信。驅(qū)動完全由Java 實現(xiàn),因此實現(xiàn)了平臺獨立性。

        由于這種驅(qū)動不需要先把JDBC 的調(diào)用傳給ODBC 或本地數(shù)據(jù)庫接口或者是中間層服務(wù)器。所以它的執(zhí)行效率是非常高的,訪問速度也是最快的,安全性也很好。而且,此方式不需要在客戶端或服務(wù)器端裝載任何的軟件或驅(qū)動,是最直接的Java 實現(xiàn)。但是,由于缺乏足夠的文檔和技術(shù)支持,幾乎只有數(shù)據(jù)庫廠商自己才能提供這種類型的JDBC 驅(qū)動,同時也需要針對不同的數(shù)據(jù)庫使用不同的驅(qū)動程序。

        3 比較幾種JDBC 數(shù)據(jù)驅(qū)動程序

        3.1 從需要數(shù)據(jù)量操作的角度來說,對于使用Windows 環(huán)境開發(fā)系統(tǒng),或者是較小數(shù)據(jù)量操作的應(yīng)用程序,應(yīng)首先考慮使用JDBC-ODBC 驅(qū)動。

        3.2 從執(zhí)行效率看,網(wǎng)絡(luò)協(xié)議驅(qū)動和本地協(xié)議驅(qū)動明顯優(yōu)于前兩者,應(yīng)首先考慮。

        3.3 從應(yīng)用看,從internet 應(yīng)用看,只能考慮網(wǎng)絡(luò)協(xié)議驅(qū)動和本地協(xié)議驅(qū)動,因為網(wǎng)絡(luò)協(xié)議驅(qū)動可以把多種數(shù)據(jù)庫驅(qū)動都配置在中間層服務(wù)器,它適合需要同時連接多個不同種類的數(shù)據(jù)庫,并且對并發(fā)連接要求高的應(yīng)用。

        3.4 從客戶機部署看,JDBC-ODBC 橋驅(qū)動程序需要在客戶機上安裝的ODBC 驅(qū)動程序,而對于本地API 驅(qū)動,供應(yīng)商需要在客戶機上安裝客戶端庫。后兩種類型則相對簡單一些。

        4 實驗案例

        4.1 實驗內(nèi)容

        為數(shù)據(jù)庫中的表T_STUDENT 添加一條學(xué)號為“0030”,姓名為“王江”,性別為“男”的記錄。

        4.2 實驗分析

        本實驗的核心在于如何選擇合適驅(qū)動程序。如果考慮使用本地API 驅(qū)動方式,雖然執(zhí)行效率較高,但是需要到數(shù)據(jù)庫廠商網(wǎng)站下載代碼庫,并對應(yīng)的代碼庫安裝到客戶端。如果考慮使用網(wǎng)絡(luò)協(xié)議驅(qū)動,雖然不需要再客戶端進行配置,單個驅(qū)動程序就可以對多個數(shù)據(jù)庫進行訪問,擴充性性好,但是,需要在中間件層配置數(shù)據(jù)庫的驅(qū)動程序,執(zhí)行效率也不高。如果考慮使用本地協(xié)議驅(qū)動方式,考慮需要足夠的技術(shù)支持,獨立通過JAVA 編寫驅(qū)動程序,對于個人或企業(yè)來說,是不現(xiàn)實的。以上三種方式,對于實驗來說,不是最好的選擇。考慮到實驗室?guī)缀跛械碾娔X都能夠很快實現(xiàn)ODBC 配置,采用JDBC-ODBC 數(shù)據(jù)驅(qū)動方式,利用現(xiàn)有的條件,實現(xiàn)對后臺數(shù)據(jù)庫的訪問時可行的。

        4.3 實驗結(jié)果

        通過運行測試,證明在此程序中,選用JDBC-ODBC 數(shù)據(jù)驅(qū)動方式,能夠完成實驗的基本內(nèi)容,并且,在環(huán)境配置上簡單可行,執(zhí)行效率適中。

        5 結(jié)語

        選擇合適的數(shù)據(jù)驅(qū)動程序工作方式,有助于有效部署軟件,提高軟件執(zhí)行效率,降低運行成本,同時提高可維護性。選擇時,需要綜合考慮系統(tǒng)開發(fā)環(huán)境、系統(tǒng)規(guī)模、實施成本、執(zhí)行效率、數(shù)據(jù)庫特征、可擴展性以及對客戶端的依賴程度等。

        [1]靳晉.JDBC 技術(shù)淺析[J],中國教育技術(shù)裝備,2011(5):91

        [2]劉云玉,段中興,原晉鵬.JDBC 數(shù)據(jù)庫重連機制的研究與實現(xiàn)[J],計算機應(yīng)用與軟件,2011,28(7)38-40

        [3]胡廣沖,李建玉,張志超.基于JDBC+ Struts 的在線考試系統(tǒng)的設(shè)計[J],計算機光盤軟件與應(yīng)用,2012(11):219

        [4]張俐.基于Spring 和JDBC 的蔬菜運銷管理系統(tǒng)在數(shù)據(jù)持久層的應(yīng)用[J],安徽農(nóng)業(yè)科技,2012,40(7):4401-4403

        [5]呂峰,梅細艷,周曉東 基于JDBC 的數(shù)據(jù)庫管理及其應(yīng)用[J],武漢理工大學(xué)學(xué)報,2004,24(10):64-66

        [6]羅榮,唐學(xué)兵.基于JDBC 的數(shù)據(jù)庫連接池的設(shè)計與實現(xiàn)[J],計算機工程,2004,30(9):92-93.

        [7]郭廣軍,陳代武,胡玉平,李芝城.基于JDBC 的數(shù)據(jù)庫訪問技術(shù)的研究[J],南華大學(xué)學(xué)報(自然科學(xué)版),2005,19(2):50-54.

        [8]李德水,陰國富.JDBC 體系結(jié)構(gòu)分析[J].電腦開發(fā)與應(yīng)用,2006,19(10):55-57.

        猜你喜歡
        網(wǎng)絡(luò)協(xié)議中間件驅(qū)動程序
        計算機網(wǎng)絡(luò)理論下的傳播研究結(jié)構(gòu)模型:Communication一詞的兩種翻譯
        一種藍牙多跳網(wǎng)絡(luò)協(xié)議的設(shè)計與研究
        電子制作(2018年17期)2018-09-28 01:56:52
        RFID中間件技術(shù)及其應(yīng)用研究
        電子制作(2018年14期)2018-08-21 01:38:10
        基于VanConnect中間件的設(shè)計與開發(fā)
        電子測試(2018年10期)2018-06-26 05:54:02
        基于DPI技術(shù)的語音視頻流量監(jiān)控系統(tǒng)設(shè)計與實現(xiàn)
        芻議局域網(wǎng)中網(wǎng)絡(luò)協(xié)議的添加與配置
        科技資訊(2015年10期)2015-06-29 18:17:23
        中間件在高速公路領(lǐng)域的應(yīng)用
        一種支持智能環(huán)境構(gòu)建的中間件
        驅(qū)動程序更新與推薦
        驅(qū)動程序更新與推薦
        亚洲中文字幕乱码免费| 国产亚洲美女精品久久久2020 | 日本一区午夜艳熟免费| 免费 无码 国产精品| 伊人狼人大香线蕉手机视频| 色噜噜亚洲男人的天堂| 国产精品无码a∨精品影院| 一本一道av无码中文字幕﹣百度 | 狠狠人妻久久久久久综合| 欧洲无码一级毛片无遮挡| 尤物成av人片在线观看| 日本人妻免费在线播放| 风韵多水的老熟妇| 四虎成人在线| 久久精品视频按摩| 少妇人妻无奈的跪趴翘起| 性生交片免费无码看人| 亚洲日韩欧美国产高清αv| 亚洲av成人一区二区三区网址| 国产一区二区三区探花| 久久99精品国产麻豆| 一区二区三区av波多野结衣| 久青草国产视频| 美女被插到高潮嗷嗷叫| 亚洲视频在线一区二区| 怡红院免费的全部视频| 日韩偷拍一区二区三区视频| 加勒比av在线一区二区| 中文字幕日韩三级片| 久久精品无码鲁网中文电影| 热热久久超碰精品中文字幕| 日本国产亚洲一区二区| 人妻夜夜爽天天爽一区| 日本少妇按摩高潮玩弄| 亚洲一区二区三区在线视频| 人人妻人人澡人人爽精品日本 | 日本公与熄乱理在线播放| 久99久精品视频免费观看v| 久久综合五月天啪网亚洲精品| 曰批免费视频播放免费| 日韩内射美女人妻一区二区三区 |