JDBC (Java Database Connectivity) 提供統一 API 存取多種關聯式資料庫。SQL Server 2000 作為微軟企業級資料庫產品,支援高擴展性與高可靠性。Java 透過 JDBC-ODBC 橋接器 即可存取 SQL Server,無需學習資料庫專用驅動程式開發。
Java App → JDBC API (java.sql) → JDBC Driver Manager
→ JDBC-ODBC Bridge → ODBC Driver → SQL Server 2000
ODBC 為業界標準介面,所有主流資料庫皆提供 ODBC 驅動,故 JDBC-ODBC 橋接器具備廣泛相容性。
mydatawuzi(欄位自行設計)wzglmydataimport java.sql.*;
public class SQLServerConnectDemo {
public static void main(String[] args) {
Connection conn = null;
Statement stmt = null;
ResultSet rs = null;
try {
// 1. 載入 JDBC-ODBC 橋接器驅動
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
// 2. 建立連線 (使用系統 DSN 名稱)
String url = "jdbc:odbc:wzgl";
conn = DriverManager.getConnection(url);
// 3. 執行查詢
stmt = conn.createStatement();
rs = stmt.executeQuery("SELECT * FROM wuzi");
// 4. 處理結果集
ResultSetMetaData meta = rs.getMetaData();
int colCount = meta.getColumnCount();
while (rs.next()) {
for (int i = 1; i <= colCount; i++) {
System.out.print(meta.getColumnName(i) + ": " + rs.getString(i) + "\t");
}
System.out.println();
}
} catch (Exception e) {
e.printStackTrace();
} finally {
// 5. 關閉資源(逆序關閉)
try { if (rs != null) rs.close(); } catch (SQLException e) {}
try { if (stmt != null) stmt.close(); } catch (SQLException e) {}
try { if (conn != null) conn.close(); } catch (SQLException e) {}
}
}
}
sun.jdbc.odbc.JdbcOdbcDriver(JDK 內建,JDK 8 後移除)jdbc:odbc:<DSN名稱>// 使用 Microsoft 官方 JDBC 驅動 (需下載 sqljdbc.jar)
Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String url = "jdbc:sqlserver://localhost:1433;databaseName=mydata;integratedSecurity=true";
Connection conn = DriverManager.getConnection(url);
官方驅動支援完整 JDBC 4.x 規範、資料表值參數、Always Encrypted 等進階功能,效能與穩定性優於橋接器。
掌握 JDBC-ODBC 橋接器配置可快速驗證連線,但生產部署請務必採用原生 JDBC 驅動。