Class.forName("driver.class.Name")DriverManager.getConnection(url, user, pass)if (con != null) System.out.println("Success")catch (Exception e) { e.printStackTrace(); }ojdbc14.jar (Oracle 10g/11g 常用),放入專案 ClasspathClass.forName("oracle.jdbc.driver.OracleDriver");
Connection con = DriverManager.getConnection(
"jdbc:oracle:thin:@HOST:PORT:SID", USER, PASS);
// Thin driver 格式:@host:port:SID (或 Service Name)
if (con != null) System.out.println("Oracle test success");
mysql-connector-java-5.1.x-bin.jar (版本對應 MySQL Server 版本)Class.forName("com.mysql.jdbc.Driver");
Connection con = DriverManager.getConnection(
"jdbc:mysql://HOST:PORT/DBNAME", USER, PASS);
// 格式://host:port/dbname
if (con != null) System.out.println("MySQL test success");
?useUnicode=true&characterEncoding=UTF-8&useSSL=falseSETUP.BAT 真正安裝)netstat -an 確認 1433 Port 顯示 LISTENINGLIB 下三個 JAR 全部加入)msbase.jarmssqlserver.jarmsutil.jarClass.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
Connection con = DriverManager.getConnection(
"jdbc:microsoft:sqlserver://HOST:PORT;DATABASENAME=DBNAME;", USER, PASS);
// 注意:URL 結尾有分號,DATABASENAME 大小寫敏感
if (con != null) System.out.println("SQL Server test success");
| 錯誤訊息 | 原因 | 解決 |
|---|---|---|
| ClassNotFoundException | JAR 未加入 Classpath | 檢查專案 Build Path / WEB-INF/lib |
| ORA-12505 / TNS Listener does not know SID | SID/Service Name 錯誤 | 確認 tnsnames.ora 或用 Service Name |
| Communications link failure (MySQL) | IP/Port/防火牆/skip-networking | 檢查 my.cnf bind-address、防火牆 3306 |
| Error establishing socket (SQL Server) | Port 1433 未開啟 | 安裝 SP4、啟用 TCP/IP、重啟服務 |
三大資料庫 JDBC 連線核心差異在於:驅動類別名稱、URL 格式、預設 Port。SQL Server 2000 需額外修補 SP4 並啟用 TCP/IP 才能開啟 1433 Port,是最易踩坑的環節。建議專案採用連線池 (DBCP/HikariCP) 管理連線,並外部化 URL/帳號密碼配置。