1. 程式人生 > >今天搞清楚了java連線db2的問題,jdbc的解決方案

今天搞清楚了java連線db2的問題,jdbc的解決方案

 java連線db2的問題,大家已經都討論過了。看到論壇裡又有壇友提問,我也就自己測試總結出來,共享下.JavaSoft將JDBC驅動程式細分為四大類,就是大家經常講的type1,或者type4等.
1.JDBC/ODBC Bridge是一項瘦編譯元件,能將JDBC功能呼叫轉換為ODBC功能呼叫。使用JDBC/ODBC Bridge,Java開發人員編 寫的相容JDBC的應用系統及小型應用程式,可與目前市場上任何ODBC連線解決方案一併使用。既然這種型別使用著不多,我也沒有測試.
2.NativeAPI PartlyJava驅動程式主要將JDBC呼叫轉換為指定專用資料庫系統的客戶機API,從而利用SQL*NET、I Connect及OpenClient分別連線到Oracle、Informix及Sybase等資料庫上。使用PartlyJava驅動程式的最大優點是,可 利用企業內現有的資料庫中介軟體。
這種方法就是本機上安裝有db2客戶端,並在本地已經配置好了別名資料庫.使用時注意:
2.1把db2java.zip解壓後,把COM下檔案考到專案的當前目錄下.因為註冊驅動要用到的,當然還要註冊db2java.jar
2.2注意資料庫url要正確,因為已經在本地配置了別名資料庫.格式如下jdbc:db2:sample;
String name="COM.ibm.db2.jdbc.app.DB2Driver";
String url="jdbc:db2:ceshi";
3.NetProtocol AllJava驅動程式可將JDBC呼叫轉換成為不受任何資料庫限制的網路協議,伺服器可把這一網路協議編譯 為資料庫協議。這項JDBC解決方案只有一個單一通用的全Java驅動程式,可連線許多不同的資料庫。採取哪種網路協議作為 中介,取決於JDBC驅動程式供應商。COM.ibm.db2.jdbc.net.DB2Driver
在網上參考n多資料,據說還要伺服器開偵聽埠,我也沒能把資料庫埠開啟.也就沒有測試.
4.NativeProtocol AllJava驅動程式是資料庫專用JDBC驅動程式,可將JDBC呼叫轉換為資料庫可直接使用的網路協議,客戶機因此可直接訪問資料庫伺服器。從根本上說,NativeProtocol AllJava驅動程式能以一個純粹本地的Java JDBC 客戶機,全面取代客戶機API,如SQL*NET、IConnect及OpenClient等。
這是jdbc通用資料庫驅動.連線已經安裝客戶端的別名資料庫沒有問題,直接連線遠端資料庫也沒有問題,不過需要資料庫編碼為GBK
4.0要把db2jcc.jar解壓後的com拷貝到專案的當前目錄下.因為註冊驅動要用到的.當然要註冊db2jcc.jar,db2jcc_license_cisuz.jar
4.1連線已經安裝有客戶端並配置了別名資料庫的格式
                            String name="com.ibm.db2.jcc.DB2Driver";
                String url="jdbc:db2://localhost:50000/ceshi";
4.2直接訪問伺服器資料庫.
   如果資料庫編碼不對的話會報Encoding not supported"錯誤!建立Database時,必需選UTF-8的編碼,如果選用Big5時會出現encoding not supported的錯誤。DB2的JDBC 只支援UTF-8的編碼方式。解決方法也就是用不同的字符集建立資料庫.格式同4.1