基于ODBC-JDBC的數據庫連接策略的實現與優(yōu)化論文
【摘 要】使用JSP技術開發(fā)動態(tài)交互式Web信息系統(tǒng)是當今Internet主流技術之一,隨著網絡應用和電子商務的迅速發(fā)展,站點與數據庫連接的操作越來越頻繁,也越來越復雜。通過分析現有的數據庫連接技術,選擇使用ODBC-JDBC橋驅動程序作為JDBC的驅動程序,介紹其連接策略、實現方法,并對其從驅動程序、連接對象、執(zhí)行對象等方面進行優(yōu)化策略分析。

【關鍵詞】ODBC-JDBC,實現方法,優(yōu)化策略
1 數據庫連接技術介紹
數據庫軟件設計開發(fā)不可避免地應用數據庫連接,建立數據庫連接,與數據庫進行通信,執(zhí)行SQl語句并檢索查詢結果。目前實現上述活動的常用技術是ODBC和JDBC。
ODBC是Open DataBase Connectivity的縮寫,是微軟公司提供的應用程序接口,用于訪問數據庫。使用結構化查詢語言作為其數據庫語言,并提供插入、修改和刪除數據庫以及從數據庫中提取信息的功能。
JDBC是Java DataBase Connectivity的縮寫,是Sun Microsystems提供的Java API一部分,它定義了一組API對象以及與數據庫進行交互的方法。
ADO是Activex Data Objects的縮寫,是一個用于存取數據源的COM組建。提供了編程語言和統(tǒng)一數據訪問方式OLE DB的一個中間層。允許開發(fā)人員編寫訪問數據的代碼而不用關心數據庫如何實現,而只關心到數據庫的連接。
ADO.net是在.net編程環(huán)境中優(yōu)先使用的數據訪問接口。他提供了數據訪問的互用性和可伸縮性。
ADO.net是一組用于和數據源進行交互的面向對象的類庫。通常情況下,數據源是數據庫,但同樣也能夠是文本文件、Excel表格或者是XML文件。
2 Java中連接技術選擇
ODBC使用的是C語言接口,對于Java而言,對本地C語言代碼的調用在應用程序的安全性、實現性、健壯性以及可移植性等方面存在缺陷,束縛了ODBC驅動程序在Java應用程序中的應用。
盡管Java中存在的Java.io包提供了豐富的類和接口,但是通過這些類和接口訪問的數據是以流的形式表示的,因此對于訪問存儲在外部數據提供的程序,比如SQLServer、Oracle和Access中的數據的所有Java應用程序而言,JDBC是彌補缺陷的良藥,是必須的。
在Java語言中, JDBC ( Java DataBaseConnection)是應用程序與數據庫溝通的橋梁,即Java語言通過JDBC技術訪問數據庫。JDBC是一種“開放”的方案,它為數據庫應用開發(fā)人員、數據庫前臺工具開發(fā)人員提供了一種標準的應用程序設計接口,使開發(fā)人員可以用純Java語言編寫完整的數據庫應用程序。
JDBC提供兩種API,分別是面向開發(fā)人員的API和面向底層的JDBC驅動程序API,底層主要通過直接的JDBC驅動和JDBC-ODBC橋驅動實現與數據庫的連接。
一般來說,Java應用程序訪問數據庫的過程是:①裝載數據庫驅動程序;
②通過JDBC建立數據庫連接;
、墼L問數據庫,執(zhí)行SQL語句;
、軘嚅_數據庫連接。
對于共享資源,有一個很著名的設計模式:資源池(Resource Pool)。該模式正是為了解決資源的頻繁分配 釋放所造成的問題。為解決上述問題,可以采用數據庫連接池技術。數據庫連接池的基本思想就是為數據庫連接建立一個“緩沖池”。預先在緩沖池中放入一定數量的連接,當需要建立數據庫連接時,只需從“緩沖池”中取出一個,使用完畢之后再放回去。我們可以通過設定連接池最大連接數來防止系統(tǒng)無盡的與數據庫連接。更為重要的是我們可以通過連接池的管理機制監(jiān)視數據庫的連接的數量、使用情況,為系統(tǒng)開發(fā)、測試及性能調整提供依據。
因此,為了提高訪問數據庫數據的效率,Java應用程序選擇了JDBC,使用ODBC-JDBC橋驅動程序連接數據庫,從JDBC訪問ODBC數據源。
3 連接策略的實現
開發(fā)基于ODBC-JDBC的數據庫連接應用程序步驟如下:①為數據庫創(chuàng)建數據源②導入Java.sql包③加載驅動程序④加載將連接該數據源的驅動程序,使用Class.forName()方法,將給定的類加載到Java虛擬機中⑤創(chuàng)建連接對象DriverManager類試圖找到一個能夠連接至URL中指定的數據庫的驅動程序。這個類跟蹤已注冊的驅動程序,當調用getConnection()方法時,它會搜索整個該驅動程序列表,直到找到一個能夠連接至URL中指定的數據庫的驅動程序。加載此驅動程序后,使用getConnection()方法建立與數據源的連接。此方法中有3個接收參數,分別表示數據源的名稱、數據源連接所使用的類型以及用戶名、密碼。
、迍(chuàng)建執(zhí)行對象并執(zhí)行
一旦建立連接,就使用該連接將SQL語句傳遞給它所連接的數據庫。然后使用Connection類的createStatement()方法創(chuàng)建Statement接口實例。執(zhí)行查詢最有效的方法是使用Statement接口中的executeQuery()方法,接收SQL查詢字段作為參數,并返回包括查詢結果的ResultSet。
執(zhí)行更新數據庫,包括插入數據,修改數據或者刪除數據,一方面需要編寫數據更新的SQL語句,它不會將結果作為ResultSet返回,而是返回一個整數,表示受該語句影響的行數。另一方面使用executeUpdate()方法。
⑦接收、存放執(zhí)行結果
使用Statement對象構建并執(zhí)行SQL語句以執(zhí)行對數據庫的操作,操作結果返回給ResultSet對象。
、嚓P閉對象和連接
關閉ResultSet對象、Statement對象、關閉連接。
4 連接策略的優(yōu)化
4.1 連接中驅動程序的優(yōu)化使用本地API部分Java驅動程序的速度要比基于ODBC-JDBC橋的數據庫連接速度快,它將JDBC調用轉換成對DBMS客戶端API的調用,它使用本地數據庫API的Java本地接口訪問數據庫。
與ODBC驅動程序一樣,它也需要在客戶機上使用本地二進制代碼,并要求安裝和配置數據庫。隨著網絡技術、中間件技術的縱深發(fā)展和不斷完善,使用網絡協(xié)議和中間件與服務器進行通信,然后服務器將該協(xié)議和中間件轉換成特定于DBMS的方法調用,這是JDBC網絡純Java驅動程序下的數據庫連接,此驅動程序開始獨立于數據庫,將JDBC轉換成本地專有數據庫調用,還支持對多個后端數據庫進行訪問。
4.2 執(zhí)行對象選擇的優(yōu)化
在數據庫連接過程中存在多次執(zhí)行同一操作的情況,為了提高SQL語句的接收、編譯效率,可用PreparedStatement()方法創(chuàng)建PreparedStatement對象,因為PreparedStatement對象用于預編譯的SQL語句,可以接收一個或者多個參數作為輸入參數,提高了效率。另外它還增添了設置值所需要的一整套方法,可以將這些方法發(fā)送到數據庫以代替參數的占位符。
4.3 連接對象的優(yōu)化
使用連接池是實現數據訪問優(yōu)化的重要途徑之一。如果每次Web應用接受到請求,就向數據庫要求一個連接,當執(zhí)行完就通知數據庫中斷連接,這樣的方式將會耗費大量的時間與資源。而連接池的運作方式是一開始向數據庫要求很多Connection連接存儲在一個Pool池內,讓需要的人從連接池中取Connection,等到用完之后再放回連接池,從而讓Web應用與數據庫之間能夠獲得最大的執(zhí)行效率。
5 結束語
數據庫連接的實現是數據庫軟件開發(fā)過程中必不可少的組成部分,數據庫連接的優(yōu)化關系到數據查詢、更新的執(zhí)行效率,成為衡量系統(tǒng)開發(fā)性能的重要指標,因此數據庫連接策略的實現和優(yōu)化是一項系統(tǒng)工程,值得我們在開發(fā)實踐中不斷的探索和挖掘。
參考文獻
[1]王 強.高校綜合人力資源管理系統(tǒng)的數據庫優(yōu)化策略研究[J].電腦知識與技術,2010,17(10):50-51.
[2]孫鑫鴿,陳 剛,孫小玲.基于JDBC的數據庫連接池技術的研究與設計[J].計算機與信息技術,2007,15(5):61-62.
[3]王秀義.基于JDBC的數據庫連接池及實現[J].計算機系統(tǒng)應用,2005,22(4):43-45.
【基于ODBC-JDBC的數據庫連接策略的實現與優(yōu)化論文】相關文章:
優(yōu)化農機裝備結構的策略分析論文05-05
公共體育教學現狀與優(yōu)化策略論文02-18
淺談基于RFID 的會議簽到系統(tǒng)設計與實現論文02-20
基于智能優(yōu)化算法的Wiener模型辨識論文提綱12-05
提升網站圖片的優(yōu)化效果的幾種策略淺析的論文03-23
企業(yè)數據庫安全防護及維護策略論文11-11
淺談基于Openstack 的網絡攻防實驗平臺設計與實現論文02-20
醫(yī)療空間環(huán)境與優(yōu)化設計策略論文提綱11-17
- 相關推薦