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

JDBC 連接 SQL Server 2000 常見錯誤與解決方案速查

     編輯:Java 相關知識

標準連接代碼範本

Connection conn = null;
try {
    Class.forName("com.microsoft.jdbc.sqlserver.SQLServerDriver");
    conn = DriverManager.getConnection(
        "jdbc:microsoft:sqlserver://127.0.0.1:1433;databasename=dbname",
        "username", "password");
} catch (Exception e) {
    e.printStackTrace();
}

錯誤 1:No suitable driver / ClassNotFoundException

原因:缺少 Microsoft SQL Server 2000 JDBC 驅動三個 JAR:msbase.jar、mssqlserver.jar、msutil.jar。

解決:

  • IDE (JBuilder/Eclipse/IntelliJ):專案 Libraries 加入三個 JAR。
  • 命令列編譯/執行:javac -classpath ".;msbase.jar;mssqlserver.jar;msutil.jar" ... 或設定 CLASSPATH 環境變數。
  • Web 應用 (Tomcat/JBoss):放入 WEB-INF/lib 或伺服器共用目錄 (tomcat/common/lib)。

錯誤 2:SQLException: Error establishing socket

可能原因:

  1. SQL Server 服務未啟動。
  2. 連接埠錯誤 (預設 1433),檢查 netstat -an 確認 TCP 1433 狀態為 LISTENING。
  3. 關鍵:未安裝 SQL Server 2000 SP3/SP4 補丁。未打補丁時,企業管理器可連但 TCP 1433 實際未開放,JDBC 連接失敗。

排查工具:命令列執行 netstat -an | find "1433" 驗證端口監聽。

進階建議

  • 生產環境建議升級至 Microsoft JDBC Driver 4.0+ for SQL Server (支援 JDBC 4.0、SSL、Kerberos、AlwaysOn),舊驅動已停止維護。
  • 連接字串現代寫法:jdbc:sqlserver://host:1433;databaseName=dbname;encrypt=true;trustServerCertificate=false。
  • 使用連線池 (DBCP/HikariCP/C3P0) 而非直接 DriverManager。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved