Java 連接資料庫需正確配置驅動類別與 JDBC URL。本文整理四大主流資料庫標準配置,含驅動下載、類別名稱、URL 格式與參數說明。
| 項目 | 值 |
|---|---|
| 驅動 JAR | ojdbc14.jar (版本對應: ojdbc6/7/8.jar) |
| 驅動類別 | oracle.jdbc.driver.OracleDriver |
| JDBC URL | jdbc:oracle:thin:@<host>:<port>:<SID> |
| 參數說明 | host: IP/主機名 | port: 預設 1521 | SID: 資料庫實例名 |
| 本機範例 | jdbc:oracle:thin:@localhost:1521:orcl |
| 下載位置 | Oracle JDBC 下載頁 |
| 項目 | 值 |
|---|---|
| 驅動 JAR | msbase.jar, mssqlserver.jar, msutil.jar (舊版)新版: mssql-jdbc-x.x.x.jre8.jar |
| 驅動類別 | 舊: com.microsoft.jdbc.sqlserver.SQLServerDriver新: com.microsoft.sqlserver.jdbc.SQLServerDriver |
| JDBC URL | 舊: jdbc:microsoft:sqlserver://<host>:<port>;DatabaseName=<db>新: jdbc:sqlserver://<host>:<port>;databaseName=<db> |
| 參數說明 | port: 預設 1433 | databaseName: 資料庫名稱 |
| 本機範例 | jdbc:sqlserver://localhost:1433;databaseName=testdb |
| 下載位置 | Microsoft JDBC Driver |
| 項目 | 值 |
|---|---|
| 驅動 JAR | mysql-connector-java-x.x.xx.jar |
| 驅動類別 | com.mysql.jdbc.Driver (5.1)com.mysql.cj.jdbc.Driver (8.0+) |
| JDBC URL | jdbc:mysql://<host>:<port>/<db>?useSSL=false&serverTimezone=UTC |
| 參數說明 | port: 預設 3306 | 8.0+ 建議加時區/SSL 參數 |
| 本機範例 | jdbc:mysql://localhost:3306/testdb?useSSL=false&serverTimezone=Asia/Taipei |
| 下載位置 | MySQL Connector/J |
| 項目 | 值 |
|---|---|
| 驅動 JAR | 內建 JDK: sun.jdbc.odbc.JdbcOdbcDriver (Java 7 以前)Java 8+ 移除,需使用 UCanAccess |
| JDBC URL | jdbc:odbc:<DSN名稱> |
| 前置條件 | Windows 控制台 → ODBC 資料來源 → 建立系統 DSN 指向 .mdb/.accdb |
| 本機範例 | 建立 DSN "MyAccess" → jdbc:odbc:MyAccess |
String url = "jdbc:mysql://localhost:3306/mydb?useSSL=false&serverTimezone=UTC";
String user = "root";
String password = "password";
try (Connection conn = DriverManager.getConnection(url, user, password)) {
// 載入驅動 (JDBC 4.0+ SPI 自動載入,無需 Class.forName)
// Class.forName("com.mysql.cj.jdbc.Driver"); // 如需相容舊版
System.out.println("連線成功: " + conn.getMetaData().getURL());
} catch (SQLException e) {
System.err.println("連線失敗: " + e.getMessage());
e.printStackTrace();
}
serverTimezone、useSSL;Oracle 建議使用服務名 //host:port/service_name 替代 SID正確配置驅動與 URL 是資料庫連線成功的第一步,建議收藏此速查表供開發參考。