| JDBC 驅動版本 | 支援 JDK | JAR 檔名 | 適用 SQL Server |
|---|---|---|---|
| 4.0 / 4.2 | JDK 6 / 7 / 8 | sqljdbc4.jar / sqljdbc41.jar / sqljdbc42.jar | 2008 - 2014 |
| 6.0 - 12.x | JDK 8 - 17+ | mssql-jdbc- | 2012 - 2022 |
建議:新專案直接用最新 mssql-jdbc-12.4.1.jre11.jar(JDK 11+)或 jre8.jar(JDK 8)。
com.microsoft.sqlserver:mssql-jdbc:12.4.1.jre11lib/ 目錄 → 放入 JAR → Add JARs 選取專案內 JAR(利於版控)1433package com.example.test;
import java.sql.*;
public class JdbcConnectionTest {
public static void main(String[] args) {
String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
String url = "jdbc:sqlserver://localhost:1433;databaseName=SampleDB;encrypt=true;trustServerCertificate=true";
String user = "sa";
String pwd = "YourStrongPassword123";
try {
Class.forName(driver); // JDBC 4.0+ 可省略
try (Connection conn = DriverManager.getConnection(url, user, pwd)) {
System.out.println("✅ Connection Successful!");
System.out.println("Catalog: " + conn.getCatalog());
System.out.println("Meta: " + conn.getMetaData().getDatabaseProductVersion());
}
} catch (Exception e) {
System.err.println("❌ Failed: " + e.getMessage());
e.printStackTrace();
}
}
}
sqljdbc.jar 和 sqljdbc4.jar → 類衝突,只保留一個對應 JDK 版本的 JAR。com.microsoft.jdbc.sqlserver.SQLServerDriver → 4.0+ 統一 com.microsoft.sqlserver.jdbc.SQLServerDriver。instanceName=SQLEXPRESS 或指定實例埠(動態埠需 SQL Browser 服務)。trustServerCertificate=true,生產環境配置有效憑證。<!-- Maven -->
<dependency>
<groupId>com.microsoft.sqlserver</groupId>
<artifactId>mssql-jdbc</artifactId>
<version>12.4.1.jre11</version>
</dependency>
// Gradle
implementation 'com.microsoft.sqlserver:mssql-jdbc:12.4.1.jre11'