zoukankan      html  css  js  c++  java
  • Oracle通过透明网关连接SQL SERVER

    【本地环境】

    系统:win7 64位

    Oracle数据库版本:Oracle 11g

    透明网关版本:11.2

    MSSQL:SQL2008R2

    1.    透明网关简介

    ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。因此透明网关也是Oracle数据仓库和数据迁移中的一个重要组成部分。

    透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。

    2.    透明网关安装

    首先在官网上先下载个透明网关。网址(11g):

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win32soft-098987.html

    其中Oracle Database Gateways 11g Release 2 (11.2.0.1.0) for Microsoft Windows (32-bit)便是透明网关。

    [说明]

    据说10g和11g的要单独下,9i的安装光盘里面有。另外找不到10g的透明网关,不确定11g的透明网关能否用于10g的数据库,本地环境无法测试。

    [安装步骤]

    步骤这里就不一个个截图了,基本就是“下一步”,下面是选组件的,选SQL SERVER的就可以了。安装结束后有监视器的设置,可以直接跳过。

                           

    [透明网关目录:D:\app\HIS_LK\product\11.2.0\tg_1\]

    [Oracle目录:D:\app\HIS_LK\product\11.2.0\dbhome_1]

    3.    配置透明网关的监听listener.ora

    透明网关目录文件夹à NETWORKàADMIN

    其中listener.ora便是监听文件,配置他即可。

               

    SID_LIST_LISTENER =
           (SID_LIST =   

    (SID_DESC =

      #SID是监听的标识,这个是默认名称,用了配本地的SQL SERVER

              (SID_NAME = dg4msql)   

              (PROGRAM = dg4msql)#默认不变  

              (ORACLE_HOME = D:\app\HIS_LK\product\11.2.0\tg_1)#透明网关安装目录  

              #(GLOBAL_DBNAME = dg4msql)  

            )  

    (SID_DESC = 

      #SID是监听的标识,这个是新名称,用了配远程SQL SERVER 

              (SID_NAME = kftest)  

              (PROGRAM = dg4msql)

              (ORACLE_HOME = D:\app\HIS_LK\product\11.2.0\tg_1)

              #(GLOBAL_DBNAME = dg4msql)

            )  

          )

      

    LISTENER =

           (DESCRIPTION_LIST =

             (DESCRIPTION =

             #host是透明网关服务器,可用ip。

             #port为端口,oracle本身使用了1521端口,这里用1522

               (ADDRESS = (PROTOCOL = TCP)(HOST = HIS_LK-PC)(PORT = 1522))

             )

           )

       

    4.    配置透明网关的数据库文件

    透明网关目录文件夹àdg4msqlàadmin

    Admin文件夹下默认存在安装透明网关时的数据库文件initdg4msql.ora。

    数据文件命名规则:init+ SID(SID就是第3步中配置的SID_NAME),需要多个连接就建多个文件即可。

    initdg4msql.ora文件内容:

               

       

    #注意,连接的开头不需要server=,网上很多写了这个,其实不用写,写了会报错

    HS_FDS_CONNECT_INFO="HIS_LK-PC\\MYMSSQL;DATABASE=THIS4_TEST"

    HS_FDS_TRACE_LEVEL=OFF

    HS_FDS_RECOVERY_ACCOUNT=RECOVER

    HS_FDS_RECOVERY_PWD=RECOVER

       

    initkftest.ora文件内容:         

       

    HS_FDS_CONNECT_INFO="172.16.40.117\\MSSQLSERVER2008;DATABASE=THIS4_TEST"

    HS_FDS_TRACE_LEVEL=OFF 

    HS_FDS_RECOVERY_ACCOUNT=RECOVER

    HS_FDS_RECOVERY_PWD=RECOVER

       

    5.    配置服务器的服务名配置文件tnsnames.ora

    Oracle目录文件夹à NETWORKàADMIN

    在tnsnames.ora文件中增加以下内容即可        

       

    DG4MSQL =#名称,可自拟,这里和SID取成一样,

          (DESCRIPTION =

            (ADDRESS_LIST =

              (ADDRESS = (PROTOCOL = TCP)(HOST = HIS_LK-PC)(PORT = 1522))

            )

            (CONNECT_DATA =  

              (SERVICE_NAME = dg4msql)

            ) 

            (HS = OK)

          )

    kftest =

          (DESCRIPTION =

            (ADDRESS_LIST =

              (ADDRESS = (PROTOCOL = TCP)(HOST = HIS_LK-PC)(PORT = 1522))

            )

            (CONNECT_DATA =

              (SERVICE_NAME = kftest)

            )

            (HS = OK) 

          )

       

    6.    创建服务器连接

    语法     

       

    CREATE DATABASE LINK 连接名 CONNECT TO     "user" IDENTIFIED BY "password" USING 'tg4msql'

       

    举例:

    CREATE DATABASE LINK kftest CONNECT TO "sa" IDENTIFIED BY " " USING ' kftest'

    [说明]

    这边很郁闷,oracle不让输入空密码,这里输了个空格,测试的时候改了下sa的登录密码。这个没查处理方法。

    删除连接语法    

    DROP PUBLIC DATABASE LINK 连接名

       

        

    7.    查询测试

    select * from wz_kfmck@kftest

  • 相关阅读:
    Good Bye 2014 B. New Year Permutation(floyd )
    hdu 5147 Sequence II (树状数组 求逆序数)
    POJ 1696 Space Ant (极角排序)
    POJ 2398 Toy Storage (叉积判断点和线段的关系)
    hdu 2897 邂逅明下 (简单巴什博弈)
    poj 1410 Intersection (判断线段与矩形相交 判线段相交)
    HDU 3400 Line belt (三分嵌套)
    Codeforces Round #279 (Div. 2) C. Hacking Cypher (大数取余)
    Codeforces Round #179 (Div. 2) B. Yaroslav and Two Strings (容斥原理)
    hdu 1576 A/B (求逆元)
  • 原文地址:https://www.cnblogs.com/liuke1987/p/3052367.html
Copyright © 2011-2022 走看看