Oracle链接SQLServer查询

版本与环境

  • Oracle11G
  • Gateways 11G
  • SQLServer 2008
  • WindowsServer 2008
  • Oracle服务器名:SAPSERVER,IP地址192.168.18.116
  • SQLServer服务器地址:192.168.18.112
  • Oracle资源下载地址:https://www.cnblogs.com/giser-whu/p/3707070.html
  • 参考文档:灰信网:https://www.freesion.com/article/7223208283/

第一步:安装Oracle

  • 下载并安装Oracle
  • 安装后可能出现ORA-12514异常,解决方案:ORA-12514异常解决:https://www.jianshu.com/p/f9d124f10205

第二步:安装SqlServer

  • 下载并安装SqlServer
  • 开放SqlServer外部访问

第三步:关闭防火墙

  • 关闭所有服务器的防火墙
  • 如果考虑到企业安全也可以只开放1433、1521、1522端口

第四步:安装Gateways

  • Gateways可以安装在独立的服务器上,只要服务期间可以正常通讯即可,为了方便,我将其安装在Oracle服务器上。
  • 一直选择默认选项即可,组件勾选时选择Oracle Database Gateways for MSSQL


    组件勾选.png
  • 输入SqlServer数据库链接信息


    链接信息.png
  • 安装完成后勾选执行典型配置,


    典型配置.png
  • 安装完成

第五步:检查Gateways配置文件

  • 找到Gateways的安装目录,默认在Oracle安装目录的同级目录下。
  • 绝大多数配置都不需要更改,检查为主。
  • 进入\product\11.2.0\tg_1\dg4msql\admin中,编辑initdg4msql.ora文件,检查SQLServer服务地址和数据名称即可。
# This is a customized agent init file that contains the HS parameters
# that are needed for the Database Gateway for Microsoft SQL Server

#
# HS init parameters
#
HS_FDS_CONNECT_INFO=[192.168.18.112]//UFDATA_001_2017
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
  • 进入\product\11.2.0\tg_1\NETWORK\ADMIN中编辑listener.ora文件,注意SAPSERVER是我服务器计算机名。
# listener.ora Network Configuration File: E:\product\11.2.0\tg_1\network\admin\listener.ora
# Generated by Oracle configuration tools.

SID_LIST_LISTENER=
   (SID_LIST=
      (SID_DESC= 
         (SID_NAME=dg4msql)
         (ORACLE_HOME=E:\product\11.2.0\tg_1)
         (PROGRAM=dg4msql)
      )
   )

LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1522))
      (ADDRESS = (PROTOCOL = TCP)(HOST = SAPSERVER)(PORT = 1522))
    )
  )

ADR_BASE_LISTENER = E:\product\11.2.0\tg_1

第六步:编辑Oracle配置文件

  • 进入\app\oracle\product\11.2.0\dbhome_1\network\admin中,编辑tnsnames.ora文件。
  • 新增配置项,注意SAPSERVER是我服务器计算机名。
dg4msql=
   (DESCRIPTION=
      (ADDRESS=(PROTOCOL=TCP)(HOST=SAPSERVER)(PORT=1522))
      (CONNECT_DATA=(SID=dg4msql))
      (HS=OK)) 
  • 完整配置文件,注意SAPSERVER是我服务器计算机名。
# tnsnames.ora Network Configuration File: E:\app\oracle\product\11.2.0\dbhome_1\network\admin\tnsnames.ora
# Generated by Oracle configuration tools.

MERP =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = TCP)(HOST = SAPSERVER)(PORT = 1521))
    )
  )
  
dg4msql=
   (DESCRIPTION=
      (ADDRESS=(PROTOCOL=TCP)(HOST=SAPSERVER)(PORT=1522))
      (CONNECT_DATA=(SID=dg4msql))
      (HS=OK))  

ORACLR_CONNECTION_DATA =
  (DESCRIPTION =
    (ADDRESS_LIST =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
    )
    (CONNECT_DATA =
      (SID = CLRExtProc)
      (PRESENTATION = RO)
    )
  )

第七步:重启Oracle监听服务

  • Win+R输入services.msc
  • 找到OracleOraDb11g_home1TNSListener重启
  • 找到OracleOraGtw11g_home1TNSListener重启

第八步:建立DBLINK并测试

  • 登录Oracle数据库并执行
create public database link testLink connect to "sa" identified by "数据库密码" using 'dg4msql';
select count(1) from RDRECORD10@testLink ;
  • 得到返回结果,表示正常。

你可能感兴趣的:(Oracle链接SQLServer查询)