zoukankan      html  css  js  c++  java
  • 在oracle中通过链接服务器(dblink)访问sql server

    一、   工作环境:

    <1> Oracle数据库版本:Oracle 11g  运行环境 :IBM小型机 AIX 6.1

    <2> SQL数据库版本:  SQL 2005 R2  运行环境: HP DL 580 G6

    二、   操作方式:利用透明网关,建立dblink ,访问SQL SERVER

    1. 1.     透明网关简介

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

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

    1. 2.     透明网关安装

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

    http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html

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

    1. 3.     [安装步骤]

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

    三、                       

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

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

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

    其中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))

             )

           )

       

     

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

    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

       

     

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

    Oracle目录文件夹

    在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) 

          )

       

     

    1.7.    创建服务器连接

    语法     

       

    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 连接名

       

        

    1.8.    查询测试

    select * from wz_kfmck@kftest

     

    转自:http://www.cnblogs.com/bribe/p/3373093.html

  • 相关阅读:
    spring boot单元测试之七:用mockmvc模拟session(spring boot 2.4.3)
    spring boot单元测试之六:用mockmvc模拟cookie(spring boot 2.4.3)
    sql join 注意事项
    见路不走,即见因果
    presto sql 经典sql 应用
    别拿你的职业去拔高你个人的规格, 让人轻看
    《遥远的救世主》经典台词
    《卜算子·自嘲》
    天道连续剧 丁元英语录
    shell diff + kettle = mail 预警
  • 原文地址:https://www.cnblogs.com/keepmoving1113/p/5030695.html
Copyright © 2011-2022 走看看