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

SQL Server 2000 + JDBC 整合避坑指南:JDBC-ODBC 橋 vs 官方驅動

     編輯:Java 相關知識

環境

  • 資料庫:SQL Server 2000 SP3+(XP/2003 必裝 SP3)
  • 驅動:Microsoft SQL Server 2000 Driver for JDBC
  • JDK:1.2+

方案一:JDBC-ODBC Bridge(簡單但棄用)


Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection con = DriverManager.getConnection("jdbc:odbc:DSN名", "user", "pwd");
  • 優點:設定快,Windows 內建 ODBC。
  • 缺點:JDK 8 移除、效能差、雙重轉換、平台鎖定、記憶體洩漏風險。

方案二:官方 SQL Server JDBC 驅動(生產首選)

連線字串關鍵參數


String driver = "com.microsoft.jdbc.sqlserver.SQLServerDriver";
String url = "jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=StoreManager";
  • 1433 預設埠,防火牆需開放。
  • DatabaseName 指定目標資料庫。

常見錯誤與解決

最佳實踐檢查清單

  1. 確認 SQL Server 2000 SP3+ 已安裝。
  2. SQL Server 組態管理器啟用 TCP/IP,埠 1433。
  3. 建立專用資料庫用戶,最小權限原則。
  4. 驅動 jar (msbase.jar, mssqlserver.jar, msutil.jar) 放入 classpath。
  5. 使用連線池 (DBCP/HikariCP) 管理連線生命週期。
  6. 預編譯 PreparedStatement 防注入、提升效能。

現代化建議

SQL Server 2000 早已終止支援。新專案請升級至 SQL Server 2019+,並使用 Microsoft JDBC Driver for SQL Server (v12+),支援 JDBC 4.3、Always Encrypted、Azure AD 整合等現代特性。

舊系統維護時,搞定驅動版本、SP 等級、網路協定、資料庫用戶權限這四大塊,90% 的連線問題都能解決。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved
錯誤現象原因解決
Error establishing socket1433 埠未開、SP3 未裝、TCP/IP 協定未啟用裝 SP3、SQL Server 網路工具啟用 TCP/IP、防火牆放行
Invalid object name 'room'登入用戶 (sa) 無該資料庫權限在目標資料庫建立專用用戶 (如 share),授予 db_datareader/db_datawriter
中文亂碼字元集不匹配連線字串加 ;SelectMethod=cursor 或設定資料庫排序規則