Oracle11g利用透明网关连接Sqlserver数据库
为了让oracle直接调用sqlserver里面的表和视图,oracle11g透明网关可以实现这个功能。
一、下载oracleGetway
下载地址:http://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
商业转载请联系作者获得授权,非商业转载请注明本文出处及文章链接