志當存高遠,功到自然成!

          少年強則中國強,少年進步則中國進步!

          BlogJava 首頁 新隨筆 聯系 聚合 管理
            53 Posts :: 2 Stories :: 2 Comments :: 0 Trackbacks

          ORACLE9i連接SYBASE的透明網關的配置

          ORACLE實現異種數據庫連接服務的技術叫做透明網關(Transparent Gateway)。
          目前ORACLE利用透明網關可以實現和SQL SERVER、SYBASE、DB2等多種主流數據庫的互聯。

          現在通過oracle訪問sybase數據庫,把配置oracle9i TRANSPARENT GATEWAY FOR SYBASE
          的步驟寫成文檔,供需要的網友參考!
           
          配置TRANSPARENT GATEWAY FOR SYBASE步驟

          1.
          oracle所在服務器上安裝sybase client(或者在同一臺server上安裝oracle、sybase服務器)
          確保能夠訪問sybase數據庫

          2.
          安裝TRANSPARENT GATEWAY FOR SYBASE選件,要用自定義安裝。
          正確選擇sybase的安裝目錄

          3.
          選擇一個sid字符串準備賦給sybase數據庫。如:tg4sybs
          設置SYBASE的dll路徑到環境變量PATH(這一步很重要)

          4.
          修改初始化文件,默認的是:
          ORACLE_HOME g4sybsadmininittg4sybs.ora
          設置參數
          HS_FDS_CONNECT_INFO
          格式:HS_FDS_CONNECT_INFO= server_name. database_name[,INTERFACE= interface_file]
          server_name. database_name是大小寫敏感的。
          INTERFACE可選

          例子:如下
          $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
          # This is a sample agent init file that contains the HS parameters that are
          # needed for the Transparent Gateway for Sybase

          #
          # HS init parameters
          #
          HS_FDS_CONNECT_INFO=migration_serv.tax
          HS_FDS_TRACE_LEVEL=OFF
          HS_FDS_RECOVERY_ACCOUNT=RECOVER
          HS_FDS_RECOVERY_PWD=RECOVER

          #
          # Environment variables required for Sybase
          #
          set SYBASE=d:sybase
          $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
          上例中
          server_name是migration_serv
          database_name是tax

          5.
          配置oracle網絡服務的listener,配置文件是:listener.ora
          默認路徑:ORACLE_HOME etworkadmin
          加入如下

          SID_LIST_LISTENER=
          (SID_LIST=
          (SID_DESC=
          (SID_NAME= gateway_sid)
          (ORACLE_HOME= oracle_home_directory)
          (PROGRAM=tg4sybs)
          )
          )

          gateway_sid就是3選擇的sid字符串
          oracle_home_directory是ORACLE_HOME
          tg4sybs若是SYBASE是特定的。如果是其他數據庫,會不同。
          例子如下:
          $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
              (SID_DESC=
                (SID_NAME=tg4sybs)
                (ORACLE_HOME = D:oracleora92)
                (PROGRAM=tg4sybs)
              )
          $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

          6.
          停止監聽

          lsnrctl stop


          重新啟動監聽程序

          lsnrctl start

          7.
          配置oracle server的tnsnames.ora使其能夠訪問sybase
          connect_descriptor=
          (DESCRIPTION=
          (ADDRESS=
          (PROTOCOL=TCP)
          (HOST= host_name)
          (PORT= port_number)
          )
          (CONNECT_DATA=
          (SID= gateway_sid))
          (HS=OK))

          connect_descriptor是連接串,任取,一般為sybs
          host_name:oracle server的name
          port_number:oracle監聽端口
          gateway_sid就是3選擇的sid字符串

          例子如下:
          $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
          sybs=
             (DESCRIPTION=
                 (ADDRESS_LIST =
                 (ADDRESS=(PROTOCOL=TCP)(HOST= dw-server1)(PORT= 1521))
                 )
             (CONNECT_DATA=
                 (SID= tg4sybs)
             )
                 (HS=OK)
             )

          $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$

          8.建立database link

          如:
          CREATE  DATABASE LINK sybs  CONNECT TO sa
              IDENTIFIED BY prient 
              USING "SBYS" ;
             
          即可訪問sybase 數據庫。


          需要注意的是,sybase數據庫的表名,字段名,如果是小寫的,那么在oracle里訪問的時候要加上雙引號""

          如:
          SQL〉select "a" from
          "b"@sybs;

           

          主站蜘蛛池模板: 巫山县| 延吉市| 宜宾市| 崇义县| 卢氏县| 镇原县| 原阳县| 松滋市| 霍林郭勒市| 宁津县| 芦山县| 大竹县| 冷水江市| 陆良县| 甘孜县| 墨竹工卡县| 马关县| 大悟县| 南汇区| 葵青区| 曲靖市| 弋阳县| 元朗区| 福州市| 伊宁市| 百色市| 泗洪县| 莎车县| 泰和县| 修文县| 双城市| 花垣县| 洛川县| 井陉县| 峡江县| 德庆县| 大方县| 汝城县| 杂多县| 屏东市| 清涧县|