許多教程仍使用已棄用的 sun.jdbc.odbc.JdbcOdbcDriver 配合 ODBC 數據源連接 SQL Server,此方式在 Java 8+ 已移除,且配置繁瑣、穩定性差。
sqljdbc4.jar(Java 7/8)或 mssql-jdbc-x.x.x.jre8.jar(更新版本)lib 目錄並加入 Build Path,或 Maven 依賴:
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>12.2.0.jre11</version>
</dependency>
public class SqlServerConnTest {
public static void main(String[] args) {
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;DatabaseName=test;encrypt=true;trustServerCertificate=true";
String user = "sa";
String pwd = "your_password";
try {
Class.forName(driver);
System.out.println("驅動加載成功!");
} catch (ClassNotFoundException e) {
e.printStackTrace();
return;
}
try (Connection conn = DriverManager.getConnection(url, user, pwd)) {
System.out.println("數據庫連接成功!");
// 執行查詢測試
try (Statement stmt = conn.createStatement();
ResultSet rs = stmt.executeQuery("SELECT * FROM bumen")) {
while (rs.next()) {
System.out.println(rs.getInt(1) + " " + rs.getString(2) + " " + rs.getString(3));
}
}
} catch (SQLException e) {
e.printStackTrace();
}
}
}
| 屬性 | 說明 |
|---|---|
encrypt=true | 啟用 SSL 加密(SQL Server 2005+ 預設要求) |
trustServerCertificate=true | 開發環境信任自簽證書,生產環境應配置正規憑證 |
1433 | 預設端口,若修改需對應調整 |
mvn dependency:tree 驗證放棄過時的 JDBC-ODBC 橋接,直接使用 Microsoft 官方 JDBC 驅動是連接 SQL Server 的標準做法。分步驗證驅動加載、連接建立、查詢執行,能快速定位問題所在。