首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

JDBC 連接 SQL Server 完整配置指南:2000/2005/2008 驅動與 URL 差異

     編輯:MySQL 資料庫相關知識

驅動版本對應關係

SQL Server 版本驅動類名JDBC URL 格式驅動包
2000com.microsoft.jdbc.sqlserver.SQLServerDriverjdbc:microsoft:sqlserver://host:1433;DatabaseName=dbsqljdbc.jar (舊版)
2005/2008/2012+com.microsoft.sqlserver.jdbc.SQLServerDriverjdbc:sqlserver://host:1433;DatabaseName=dbsqljdbc4.jar / mssql-jdbc.jar

完整連接代碼示例

import java.sql.*;

public class SqlServerConn {
    public static void main(String[] args) {
        // SQL Server 2005/2008/2012+
        String driver = "com.microsoft.sqlserver.jdbc.SQLServerDriver";
        String url = "jdbc:sqlserver://localhost:1433;DatabaseName=sample;encrypt=true;trustServerCertificate=true";
        String user = "sa";
        String password = "your_password";

        try {
            Class.forName(driver);
            Connection conn = DriverManager.getConnection(url, user, password);
            System.out.println("連接成功:" + conn.getMetaData().getDatabaseProductVersion());
            
            // 測試查詢
            Statement stmt = conn.createStatement();
            ResultSet rs = stmt.executeQuery("SELECT @@VERSION");
            if (rs.next()) System.out.println(rs.getString(1));
            
            rs.close(); stmt.close(); conn.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

關鍵連接參數詳解

常見問題排查

  • ClassNotFoundException:未引入驅動包,Maven 坐標 com.microsoft.sqlserver:mssql-jdbc:12.4.1.jre11
  • SSL 加密錯誤:添加 trustServerCertificate=true 或導入 CA 證書
  • 端口不通:檢查 1433 端口、SQL Server 配置管理器啟用 TCP/IP、防火牆
  • 實例名連接:URL 使用 jdbc:sqlserver://host;instanceName=INST;DatabaseName=db

連接池配置建議

# HikariCP 示例
jdbcUrl=jdbc:sqlserver://localhost:1433;DatabaseName=sample;encrypt=true;trustServerCertificate=true
username=sa
password=***
maximumPoolSize=20
minimumIdle=5
connectionTimeout=30000
idleTimeout=600000
maxLifetime=1800000
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
參數說明推薦值
encrypt啟用 SSL 加密true
trustServerCertificate信任自簽證書(開發環境)true
integratedSecurityWindows 認證false (通常用SQL認證)
applicationName應用名稱(便於監控)YourAppName
loginTimeout登錄超時(秒)30
socketTimeout網絡讀寫超時(秒)60