为了让oracle直接调用sqlserver里面的表和视图,oracle11g透明网关可以实现这个功能。
一、下载oracleGetway
二、直接解压在WINDOWS机器上解压安装,可以将透明网关安装在sqlserver所在服务器。
三、安装完后修改配置文件
第一个配置文件位置:D:product11.2.0tg_1dg4msqladmininitdg4msql.ora
路径根据自己安装的路径寻找
关键配置:
代码语言:javascript复制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:product11.2.0tg_1NETWORKADMINlistener.ora
增加以下内容:
代码语言:javascript复制SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(GLOBAL_DBNAME = xmgxy) #sqlserver数据库名
(PROGRAM = dg4msql) #dg4msql这个为D:product11.2.0tg_1dg4msql这个目录名,一般不变
(SID_NAME = dg4msql) #SID_NAME为D:product11.2.0tg_1dg4msqladmininitdg4msql.ora文件除去init的符号,也是连接的实例名
(ORACLE_HOME = D:product11.2.0tg_1)
)
)
四、启动监听
启动监听位置:D:product11.2.0tg_1BINLSNRCTL.EXE
直接打开,先停止再打开
stop
start
即可
可以看到实例dg4msql
已经启动
五、打开windows防火墙,默认1521端口,入站规则里放开端口
六、oracle所在服务器操作
--创表dblink语句,如下为dblink连接名为ykt_dblink,帐号为sa,密码为123456,也可以将该文件写入oracle监听文件里面
代码语言:javascript复制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