博客已迁移,请看签名

新博客:http://www.51it.wang

Oracle11g利用透明网关连接Sqlserver数据库

为了让oracle直接调用sqlserver里面的表和视图,oracle11g透明网关可以实现这个功能。

一、下载oracleGetway

下载地址:https://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html


二、直接解压在WINDOWS机器上解压安装,可以将透明网关安装在sqlserver所在服务器。


三、安装完后修改配置文件

第一个配置文件位置:D:\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora

路径根据自己安装的路径寻找

关键配置:

HS_FDS_CONNECT_INFO=[10.0.3.152]//xmgxy    

#sqlserver数据库IP和数据库名字,安装的时候会让你配置的

HS_FDS_TRACE_LEVEL=OFF

#日志追踪,可以设置ON,会生成日志追踪

HS_FDS_RECOVERY_ACCOUNT=RECOVER

HS_FDS_RECOVERY_PWD=RECOVER


第二个配置文件位置:D:\product\11.2.0\tg_1\NETWORK\ADMIN\listener.ora

增加以下内容:

SID_LIST_LISTENER =

   (SID_LIST =

     (SID_DESC =

     (GLOBAL_DBNAME = xmgxy)                #sqlserver数据库名

     (PROGRAM = dg4msql)                        #dg4msql这个为D:\product\11.2.0\tg_1\dg4msql这个目录名,一般不变

     (SID_NAME = dg4msql)                        #SID_NAME为D:\product\11.2.0\tg_1\dg4msql\admin\initdg4msql.ora文件除去init的符号,也是连接的实例名

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

    )

  )


四、启动监听

启动监听位置:D:\product\11.2.0\tg_1\BIN\LSNRCTL.EXE

直接打开,先停止再打开

stop

start即可

可以看到实例dg4msql已经启动


五、打开windows防火墙,默认1521端口,入站规则里放开端口


六、oracle所在服务器操作

--创表dblink语句,如下为dblink连接名为ykt_dblink,帐号为sa,密码为123456,也可以将该文件写入oracle监听文件里面

create public database link ykt_dblink connect to sa identified by "123456" using

'(DESCRIPTION =

    (ADDRESS = (PROTOCOL = TCP)(HOST =10.0.3.152)(PORT = 1521))

    (CONNECT_DATA=(SID=dg4msql))    #这个SID为配置文件的SID_NAME,也就是实例名

    (HS=OK)

  )'


--查看dblink语句

select t.* from dba_objects t where object_type='DATABASE LINK';


--验证连接:

select * from sqlserverXXX表@dblink连接名

如:select * from m_ykt_xfjl@ykt_dblink


注:查询某个字段一定要用""才能查询,不然会报错‘无效标识符



参考文章:

https://www.cnblogs.com/xqzt/p/5688659.html

https://jingyan.baidu.com/article/dca1fa6f42a662f1a44052a4.html

上一篇 下一篇
评论
©博客已迁移,请看签名 | Powered by LOFTER