其實java開發中串連資料庫的主要問題不是如何寫代碼,而是找驅動包。因為jdbc的驅動包太多,並且名目繁多,有的還需要安裝用戶端才能運行。
項目實踐中,總結出三種主流資料庫中,Java的驅動和連接字串,均無需安裝用戶端:
一. Sqlserver:
驅動包:sqljdbc.jar
執行個體:
String _driverName = "com.microsoft.sqlserver.jdbc.SQLServerDriver "; //驅動
String _dbURL = "jdbc:sqlserver://198.9.100.202:1433;DatabaseName=CCTV_JDAN "; //地址
String _userName = "sa"; //使用者名稱
String _userPwd = "1"; //密碼
二. DB2:
驅動包:db2jcc.jar,db2jcc_license_cu.jar
執行個體:
String _driverName = "com.ibm.db2.jcc.DB2Driver"; //驅動
String _dbURL = "jdbc:db2://198.9.100.202:50000/JDAN"; //地址
String _userName = "dbo"; //使用者名稱
String _userPwd = "password"; //密碼
註:DB2這個最煩,因為需要license,找個正版的db2,安裝包裡會有db2jcc_license_cu.jar 。另外,資料庫字元集的問題還會導致java程式報編碼錯誤:"Encoding not supported"
解決辦法:
1、把程式的sun的jdk更換為 IBM 的 JDK ; (---當然是強烈不建議---)
2、可以在 DB2 建立資料庫的時候將編碼設為 UTF-8 ;
3、用最新的 V8 Fixpack12 以上帶的 db2jcc.jar 也可以解決。可以去DB2官網下載。
三. Oracle:
驅動包:ojdbc14.jar
執行個體:
String _driverName = "oracle.jdbc.driver.OracleDriver"; //驅動
String _dbURL = "jdbc:oracle:thin:@198.9.1.24:1521:mam32"; //地址
String _userName = "mam32sys"; //使用者名稱
String _userPwd = "password"; //密碼