前言
異構資料庫整合是企業級資料架構常見需求。SQL Server 透過「連結伺服器」搭配 OLE DB Provider 實現跨平台存取。本文以 SQL Server 2000 連結 DB2 7.2 為例,詳述從環境準備、ODBC 配置、連結伺服器建立到驗證查詢的完整標準化流程。
一、 測試環境基線
- OS:Windows 2000 Server (繁體中文版)
- DB:SQL Server 2000 (英文版) + DB2 7.2 Client (英文版)
二、 實作步驟詳解
1. 客戶端軟體安裝
確保目標機器已安裝 DB2 Client 及 SQL Server 2000 核心服務。
2. 建立 ODBC 系統資料來源 (System DSN)
- 控制台 → 系統管理工具 → 資料來源 (ODBC) → 系統 DSN → 新增。
- 選擇 IBM DB2 ODBC DRIVER。
- 資料來源名稱:自訂 (如
DB2TEST)。
- 資料庫名稱:必填 (對應 DB2 端別名/資料庫名)。
- 確定完成。
3. 測試 ODBC 連線
- 選取剛建立的 DSN → 配置。
- 彈出「The data source is not connected...」選「是」。
- 輸入 DB2 使用者帳號、密碼,連線模式預設 SHARE,確定。
- 顯示連線成功即完成 ODBC 層驗證。
4. 建立 SQL Server 連結伺服器
路徑:企業管理器 → 安全性 → 連結伺服器 → 右鍵新增。
- 一般:
- 連結伺服器名稱:自訂 (如
LINK_DB2)
- 伺服器類型:其他資料來源
- 提供者:
IBM OLE DB Provider for DB2 SERVERS
- 資料來源:填入 ODBC DSN 名稱 (
DB2TEST)
- 提供者字串:
User ID=db2_user;Password=db2_pwd (對應 DB2 實際認證)
- 安全性: 選「使用此安全性內容」,輸入 DB2 帳密。
- 伺服器選項: 預設值確定。
5. 驗證與查詢
企業管理器展開連結伺服器 → 資料表,可見 DB2 使用者擁有的表清單。實際查詢需在查詢分析器使用四段式命名:
SELECT * FROM [LINK_DB2]..[DB2_SCHEMA].[TABLE_NAME]
注意: 圖形介面無法直接檢視資料列,必須透過 T-SQL 執行分散式查詢。
三、 常見問題排查
- Provider 未註冊: 確認 DB2 Client 版本包含 OLE DB Provider,且位元數 (32/64-bit) 與 SQL Server 服務一致。
- 認證失敗: 檢查提供者字串帳密、連結伺服器安全性頁籤設定、DB2 端使用者權限。
- 查詢逾時: 調整連結伺服器屬性的「查詢逾時」選項,或優化遠端查詢邏輯下推。