首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計綜合問答

Eclipse 連接 SQL Server 2005 實戰:棄用 JDBC-ODBC 橋接,採用官方 JDBC 驅動

     編輯:程式設計綜合問答

常見錯誤誤區

許多教程仍使用已棄用的 sun.jdbc.odbc.JdbcOdbcDriver 配合 ODBC 數據源連接 SQL Server,此方式在 Java 8+ 已移除,且配置繁瑣、穩定性差。

正確方案:Microsoft 官方 JDBC 驅動

1. 依賴準備

  • 下載 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>
    

2. 連接代碼範例

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預設端口,若修改需對應調整

3. 常見問題排查

  • 連接拒絕:檢查 SQL Server 服務狀態、TCP/IP 協議啟用、防火牆 1433 端口
  • 驅動類找不到:確認 JAR 正確加入類路徑,Maven 專案執行 mvn dependency:tree 驗證
  • 認證失敗:確認混合模式驗證已啟用,sa 帳號未鎖定、密碼正確

總結

放棄過時的 JDBC-ODBC 橋接,直接使用 Microsoft 官方 JDBC 驅動是連接 SQL Server 的標準做法。分步驗證驅動加載、連接建立、查詢執行,能快速定位問題所在。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved