sqljdbc.jar(或新版 mssql-jdbc-x.x.x.jre8.jar)。SQL Server Network Configuration → Protocols for SQLEXPRESS → TCP/IP 啟用。IP Addresses 分頁 → IPAll 區段將 TCP Port 設為 1433。import java.sql.*;
public class TestSqlServer2005 {
public static void main(String[] args) {
// 1. 連線參數
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=zzf_jpqk_0928";
String user = "sa";
String pwd = "zzfncut410426";
// 2. 載入驅動並建立連線
try (Connection conn = DriverManager.getConnection(url, user, pwd);
Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT TOP 100 zz_xm, zz_dw FROM zz_xm_dw")) {
Class.forName(driver); // Java 6+ 可省略,DriverManager 會自動發現
while (rs.next()) {
String xm = rs.getString("zz_xm");
String dw = rs.getString("zz_dw");
System.out.println(xm + " --- " + dw);
}
} catch (ClassNotFoundException e) {
System.err.println("找不到驅動類別:" + e.getMessage());
} catch (SQLException e) {
System.err.println("資料庫操作失敗:" + e.getMessage());
e.printStackTrace();
}
}
}
| 項目 | 說明 |
|---|---|
| 驅動類別 | SQL Server 2005 以降統一為 com.microsoft.sqlserver.jdbc.SQLServerDriver(舊版 com.microsoft.jdbc.sqlserver.SQLServerDriver 已淘汰)。 |
| 連線字串 | jdbc:sqlserver://host:port;DatabaseName=dbName;支援 encrypt=true;trustServerCertificate=true 等 SSL 參數。 |
| Try-with-resources | JDK 7+ 自動關閉 Connection/Statement/ResultSet,避免洩漏。 |
| TOP 子句 | SQL Server 專有語法,MySQL/Oracle 使用 LIMIT/ROWNUM。 |
生產環境請使用 HikariCP、Druid 或應用伺服器內建連線池(Tomcat DataSource、WebLogic JDBC Data Source),配置範例:
# HikariCP properties
jdbcUrl=jdbc:sqlserver://localhost:1433;DatabaseName=mydb
username=sa
password=****
maximumPoolSize=20
minimumIdle=5