oracle 到 db2 通用連線

jst143發表於2011-04-13

1,只需要有資料庫程式就行了,不用裝安裝透明閘道器。(網上很多文件說要裝,實際是安裝在原資料庫程式下,運用的實際上也是原資料庫程式。)

2,安裝完成後,在home目錄下的 hs 資料夾。我們需要在hs下改檔案。D:\oracle\product\10.2.0\db_1\hs\admin 下面會有幾個檔案,我們可以新建一個檔案initdb2117.ora(注意這個檔案的檔名,規則為init+odbc的名字),然後在裡面寫上

HS_FDS_CONNECT_INFO = db2117      #這個名字是odbc的名字
HS_FDS_TRACE_LEVEL = off

3,在這臺裝透明閘道器的機器上要裝 db2的客戶端,並catalog 正確的目錄,然後配置odbc。這一步可以在第二步之前做。

4,執行netca在這臺機器上建立監聽,並修改透明閘道器目錄下的 listener.ora 檔案,增加紅字部分:

SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = PLSExtProc)
      (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
      (PROGRAM = extproc)
    )
   (SID_DESC=
      (SID_NAME=db2117)
      (ORACLE_HOME = d:\oracle\product\10.2.0\db_1)
      (PROGRAM=hsodbc)
     ) 
  )

(注意 SID_NAME為 odbc名字,program的部分就寫hsodbc即可)

5,在想要做dblink的機器上的oracle目錄下,修改tnsnames.ora,增加如下內容

DB2=
 (DESCRIPTION =
   (ADDRESS_LIST =
     (ADDRESS = (PROTOCOL = TCP)(HOST = 134.98.103.35)(PORT = 1521))
   )
   (CONNECT_DATA =
     (sid = db2117)   #這裡的sid必須與listener.ora裡的sid_name保持一致
   )
   (hs=ok)
 )

(注意 ip為裝透明閘道器的機器的ip,sid為 那臺機器上listener.ora中定義的SID_NAME  )

6,在想要做dblink的機器上建立dblink

create database link XXXX  CONNECT TO "XX" IDENTIFIED BY "XX" USING 'DB2';

注意,雖然oracle密碼不區分大小寫,但是db2的使用者名稱密碼是區分的,所以一定要用雙引號括起來寫對。

7,然後測試,訪問遠端的一張表即可。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/23577591/viewspace-692455/,如需轉載,請註明出處,否則將追究法律責任。

相關文章