建議將 JDBC 驅動 JAR 放入專案 WEB-INF/lib (Web 模組) 或應用伺服器 common/lib,避免修改系統 CLASSPATH,利於部署與維護。
| 資料庫 | Driver 類別 | JDBC URL 格式 | 備註 |
|---|---|---|---|
| Oracle 8/8i/9i (Thin) | oracle.jdbc.driver.OracleDriver | jdbc:oracle:thin:@host:1521:SID | SID 非 Service Name |
| DB2 | com.ibm.db2.jdbc.app.DB2Driver | jdbc:db2://host:5000/dbName | |
| SQL Server 7/2000 (Microsoft) | com.microsoft.jdbc.sqlserver.SQLServerDriver | jdbc:microsoft:sqlserver://host:1433;DatabaseName=db | 微軟官方驅動 |
| SQL Server (jTDS) | net.sourceforge.jtds.jdbc.Driver | jdbc:jtds:sqlserver://host:1433/dbName | 推薦,效能較佳 |
| Sybase | com.sybase.jdbc.SybDriver | jdbc:sybase:Tds:host:5007/dbName | 可用 Properties 傳帳密 |
| Informix | com.informix.jdbc.IfxDriver | jdbc:informix-sqli://host:1533/db:INFORMIXSERVER=srv;user=u;password=p | URL 含認證資訊 |
| MySQL | org.gjt.mm.mysql.Driver (舊) / com.mysql.jdbc.Driver (新) | jdbc:mysql://host/db?user=u&password=p&useUnicode=true&characterEncoding=UTF-8 | 新版驅動類別名不同 |
| PostgreSQL | org.postgresql.Driver | jdbc:postgresql://host/db | |
| ODBC 橋接 | sun.jdbc.odbc.JdbcOdbcDriver | jdbc:odbc:DSN名稱 | 僅 Windows、JDK 8 前可用 |
| Access | 同上 (ODBC) 或 Jackcess (純 Java) | 檔案路徑方式 | 非服務型資料庫 |
String url = "...";
String user = "...";
String password = "...";
Connection conn = null;
try {
Class.forName(driverClass).newInstance();
conn = DriverManager.getConnection(url, user, password);
// 業務邏輯
} catch (Exception e) {
e.printStackTrace();
} finally {
if (conn != null) try { conn.close(); } catch (SQLException ignore) {}
}
com.mysql.jdbc.Driver 並加上 characterEncoding=UTF-8。