首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 資料庫基礎

Oracle 異構服務實戰:透過 ODBC 連結 SQL Server 實現跨資料庫查詢

     編輯:Oracle 資料庫基礎

企業常面臨多資料庫平台共存,需整合異構資料。Oracle Heterogeneous Services (HS) 讓你透過 DB Link,像查詢遠端 Oracle 一樣查詢 SQL Server、MySQL 等非 Oracle 資料源。

兩種連接模式

  • 透明閘道:需購買對應產品(如 SQL Server Transparent Gateway),效能最佳、功能最全。
  • 通用連接:隨 Oracle 附贈,支援 ODBC / OLE DB,零額外授權成本,適合中小規模整合。

ODBC 通用連接實作步驟(Oracle 8.1.7 + Windows 2000 + SQL Server 2000)

  1. 確認 HS 元件已安裝:查詢 SYS.HS_BASE_CAPS 視圖是否存在。
  2. 建立系統 DSN:控制台 → ODBC 資料來源 → 系統 DSN → 新增「SQL Server」驅動,名稱 dnsora2sql。
  3. 配置 tnsnames.ora:
    Lnk2sql =
      (DESCRIPTION =
        (ADDRESS_LIST = (ADDRESS = (PROTOCOL=TCP)(HOST=hostname)(PORT=1521)))
        (CONNECT_DATA = (SID=hs4sql))
        (HS=OK)
      )
  4. 配置 listener.ora:
    SID_LIST_LISTENER =
      (SID_LIST =
        (SID_DESC =
          (SID_NAME = hs4sql)
          (ORACLE_HOME = C:\oracle\ora9201)
          (PROGRAM = hsodbc)   -- OLE DB 用 hsole
        )
      )
  5. 重載 Listener:lsnrctl reload
  6. 編輯 ORACLE_HOME\HS\ADMIN\iniths4sql.ora:
    HS_FDS_CONNECT_INFO = dnsora2sql
    HS_FDS_TRACE_LEVEL = 0
  7. 建立 DB Link:
    CREATE DATABASE LINK ora2sql
      CONNECT TO sql1 IDENTIFIED BY sql1
      USING 'lnk2sql';
  8. 測試:SELECT * FROM region@ora2sql;

關鍵提醒

  • HS 僅支援 SELECT、INSERT、UPDATE、DELETE,不支援 DDL。
  • 資料型別對應需注意(如 SQL Server datetime → Oracle DATE 精度差異)。
  • 效能:大量資料建議用 DRIVING_SITE Hint 或分頁抓取。

異構服務是快速、低成本整合異構資料的利器,善用通用連接即可滿足大多數跨庫查詢需求。

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