JDBC連接DB2數據庫操作技巧大盤點
此文章主要向大家講述的是JDBC連接DB2數據庫的操作技巧,我們今天主要向大家講述的是應用程序連接DB2數據庫,JSP中連接DB2數據庫,以及對這些相關知識的深入探討,以下就是文章的主要內容講述。
關于DB2數據庫的JDBC連接DB2數據庫文章有很多,比較出名的有諸如“JDBC數據庫連接大全”和“JSP的DB2連接數據庫”,雖然都是很詳細的資料,也都說解決了前人沒有解決的問題,但還是有許多紕漏。我就這兩天的經驗給大家寫一篇關于JDBC連接數據庫的文章,以解決一部分人的疑問。
第一, JDBC是JDK的一部分(至少在Java Tiger Development Kits中是這樣),使用JDBC直接在程序文件中寫import java.sql.*;即可使用了。
第二, 連接字符串的格式。本地連接的連接字符串格式為jdbc:product_name: database_name,遠程連接的格式為jdbc:product_name://host_name/port_ number:database_name。
即如果我的數據庫名字為rdb,則本地連接字符串為jdbc:db2:rdb(當然rdb一定是處于DB2的默認實例之中的),而遠程連接字符串為jdbc:db2://192.168.1.10/50000:rdb(這里192.168.1.10為數據庫所在服務器IP地址,而50000為 DB2連接服務的端口號)。
第三, 安裝DB2數據庫提供的為JDBC準備的類庫(在.NET中叫Provider,在Java中怎么叫還沒研究過)。查找IBM DB2 UDB的安裝目錄或者Java Tiger的JDK目錄你會找到db2java.zip,把它先做一個副本以后就它最有用了。現(xiàn)在我們開始討論數據庫連接DB2數據庫的程序代碼。
應用程序連接DB2數據庫:
先將db2java.zip解壓縮,把COM目錄轉移到代碼的當前目錄,然后我們開始注冊這個Provider的實例,代碼為:
- Class.forName(“COM.ibm.db2.jdbc.app.DB2Driver”).newInstance(); Class.forName(“COM.ibm.db2.jdbc.net.DB2Driver”).newInstance():
這兩句任選其一,作用稍有不同,前者是具有DB2客戶端的Provider實例,后者是無DB2客戶端的Provider實例。
此后再寫Connection con=DriverManager.getConnection();即可得到數據庫連接DB2數據庫的實例。
JSP中連接DB2數據庫:
這里以Tomcat作為Servlet容器,如果想在Tomcat中使用DB2 Provider必須把db2java.zip更名成db2java.jar然后復制到tomcat主目錄下common\lib目錄下,重新啟動 Tomcat這樣就完成了Provider的注冊。然后注冊Provider實例的代碼與上面等同。還有文章寫到另一種注冊Provider實例的方法:
- DriverManager.registerDriver(new COM.ibm.db2.jdbc.app.DB2Driver()); DriverManager.registerDriver(new COM.ibm.db2.jdbc.net.DB2Driver());
數據庫連接實例化方法同上。
深入探討:
我本人不是很了解Tomcat的運行機制以及原理,不過通過測試發(fā)現(xiàn)直接從JSP頁面連接DB2數據庫會非常的慢。經過實踐發(fā)現(xiàn),最好的方法就是在Servlet中使用數據庫連接代碼,然后把數據庫連接返回給JSP頁面,十分方便,也便于集中處理代碼問題。
而且DB2的數據庫連接中總會出現(xiàn)DB2服務器自己突然Down掉或者出現(xiàn)連接DB2數據庫越發(fā)緩慢,這是DB2的實例及數據庫參數配置不妥而引起的。
【編輯推薦】
- DB2數據庫代理與連接常見問題分析和優(yōu)化
- IBM DB2連接集中器的基本操作原理
- DB2數據庫編目的概念淺談
- 對DB2 9.7武器的功能的描述
- DB2數據庫代碼頁出現(xiàn)不兼容這一情況的破解