ITPub博客

首页 > 数据库 > Oracle > Oracle Gateways透明网关访问SQL Server

Oracle Gateways透明网关访问SQL Server

Oracle 作者:gateways 时间:2016-08-13 12:50:10 0 删除 编辑
     自己的本机安装了Oracle 12c,公司的平台需要同时支持Oracle与SQL Server,很多时候都有将数据从Oracle同步到SQL Server的需求。通过SQL Server的link Server可以达到目的,但是因为SQL Server都是64位版本,试过很多次都失败了。再安装32位SQL Server也懒得折腾。
    因Oracle是12c, 安装的Gateways也是12c。尝试过在Oracle数据库服务器(本机)安装11g的gateways, 但是配置都失败了。 
    Oracle Gateways 12c的下载地址也在Oracle Database 12c的下载页。找到与自己数据库版本的对应的Gateways。
    安装前,设置了一下环境变量ORACLE_HOME,我的是:C:\oracle\product\12.1.0\dbhome_1
    安装时,选择自己需要访问的数据库,这里是SQL Server.这里将Gateways安装到了与Oracle数据库软件相同的目录。\
   安装过程:
   
    配置是重点。网上找到的都是10g的配置。12c的目录名称与10g的稍有区别:
    listener.ora

    SID_LIST_LISTENER =
  (SID_LIST =
    (SID_DESC =
      (SID_NAME = CLRExtProc)
      (ORACLE_HOME = C:\oracle\product\12.1.0\dbhome_1)
      (PROGRAM = extproc)
      (ENVS = "EXTPROC_DLLS=ONLY:C:\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
    )

(SID_DESC =
      (SID_NAME = dg4msql)
      (ORACLE_HOME = C:\oracle\product\12.1.0\dbhome_1)
      (PROGRAM = dg4msql)
    )
  )


LISTENER =
  (DESCRIPTION_LIST =
    (DESCRIPTION =
      (ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
      (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    )
  )


在tnsnames.ora添加以下内容:

dg4msql =
  (DESCRIPTION =
    (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
    (CONNECT_DATA =
      (SID = dg4msql)
    )
     (HS = OK)
  )

在ORACLE_HOME/dg4msql/admin/initdg4msql.ora
确认文件initdg4msql.ora中有以下内容():

HS_FDS_CONNECT_INFO=server name,port number//database name
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER

或者: [192.168.1.242]:1433//middle_db 

创建一个DB Link:
create public database link MS_LINK
  connect to sa identified by password
  using 'dg4msql';


重启监听。


使用select * from table@ms_link的形式访问SQL Server表。不可以直接使用insert into table@ms_link select * from table向SQL Server表插入数据。错误提示是源表与目标表都应在同一个数据库。
我的解决方法是使用一段匿名脚本一次一条数据。不知道有没有更好的办法。


至此,已经可以成功在Oracle数据库中访问SQL Server的数据了。



来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/31384189/viewspace-2123430/ ,如需转载,请注明出处,否则将追究法律责任。

上一篇: 没有了~
下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2016-08-13

  • 博文量
    1
  • 访问量
    674