首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

JBuilder 9 連接 SQL Server 2000 完整指南:Type 4 驅動配置與代碼範例

     編輯:Java 相關知識

JDBC 驅動類型回顧

類型名稱原理優點缺點
Type 1JDBC-ODBC BridgeJDBC → ODBC → DBWindows 通用需客戶端配置 ODBC、Applet 不支援、效能差
Type 2Native-APIJDBC → Client Lib (DLL) → DB效能較好需安裝客戶端、跨平台難
Type 3Net-ProtocolJDBC → Middleware Server → DB純 Java 客戶端需中間層、架構複雜
Type 4Native-Protocol Pure JavaJDBC → TCP/IP 直連 DB無中間層、跨平台、部署簡單需 DB 廠商提供驅動

結論:生產環境首選 Type 4。SQL Server 2000 使用 Microsoft JDBC Driver (Type 4)。

JBuilder 9 專案配置步驟

  1. 安裝 SQL Server 2000 JDBC Driver (微軟官方 sqljdbc.jar / msbase.jar / mssqlserver.jar)
  2. JBuilder:Tools → Configure Libraries → New
    • 名稱:SQLServerJDBC
    • 加入上述三個 JAR
  3. 專案屬性:Project → Project Properties → Path → Required Libraries 加入 SQLServerJDBC

連接代碼範例

import java.sql.*;

public class SqlServerDemo {
    // Type 4 驅動類
    private static final String DRIVER = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
    // URL 格式: jdbc:microsoft:sqlserver://host:port;DatabaseName=xxx
    private static final String URL = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=demo";
    private static final String USER = "sa";
    private static final String PASS = "123";

    public static Connection getConnection() throws Exception {
        Class.forName(DRIVER);
        return DriverManager.getConnection(URL, USER, PASS);
    }

    public static void main(String[] args) {
        try (Connection conn = getConnection()) {
            System.out.println("DB Connection Success: " + conn);
            // 執行查詢示範
            try (Statement stmt = conn.createStatement();
                 ResultSet rs = stmt.executeQuery("SELECT @@VERSION")) {
                if (rs.next()) System.out.println("SQL Server Version: " + rs.getString(1));
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

關鍵 URL 參數

參數說明範例
DatabaseName資料庫名稱;DatabaseName=demo
SelectMethod游標類型: direct (預設, 僅前向) / cursor (可捲動);SelectMethod=cursor
SendStringParametersAsUnicode字串參數送 Unicode (true/false);SendStringParametersAsUnicode=true
PacketSizeTDS 封包大小;PacketSize=8192

通用 JavaBean 封裝思路

public class DbConnectionBean {
    private String driver, url, user, pass;
    // getter/setter...
    public Connection getConnection() throws Exception {
        Class.forName(driver);
        return DriverManager.getConnection(url, user, pass);
    }
}
// 使用: 修改屬性即可切換資料庫,適合多環境部署

版本遷移提醒

  • SQL Server 2000 已結束支援 (2013)
  • 現代驅動:com.microsoft.sqlserver.jdbc.SQLServerDriver (JDBC 4.0+),Maven 坐標 com.microsoft.sqlserver:mssql-jdbc
  • URL 格式變更:jdbc:sqlserver://host:port;databaseName=xxx (小寫 databaseName)
  • 支援 Always Encrypted、Azure AD 驗證、Kerberos、可靠連線

常見問題

錯誤原因解決
ClassNotFoundException驅動 JAR 未加入 ClasspathJBuilder Libraries 配置、或 WEB-INF/lib、Maven 依賴
Connection refusedSQL Server 未啟用 TCP/IP、防火牆阻擋、Port 錯誤SQL Server Configuration Manager 啟用 TCP/IP 1433、開放防火牆
Login failed帳號/密碼錯、認證模式 (Windows/SQL)確認 sa 啟用、混合模式、密碼正確
中文亂碼字元集不匹配URL 加 SendStringParametersAsUnicode=true、資料庫/表/欄位 Collation 一致

總結

JBuilder 9 時代配合 Microsoft Type 4 JDBC Driver 連接 SQL Server 2000,核心在於 正確加入三個 JAR 到 Library、使用 jdbc:microsoft:sqlserver:// URL 格式。封裝為 JavaBean 可提升複用性。現代專案請遷移至 mssql-jdbc 新驅動與新 URL 格式。

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