通过Oracle的GateWay,访问SQLServer的数据【方法二】
1. Oracle GateWays
oracle 透明网关是oracle连接异构数据库提供的一种技术。通过Gateways,可以在Oracle里透明的访问其他不同的数据库,如SQL Server, DB2, Sybase等等,就像远程Oracle数据库一样。
在官网上下载Oracle GateWays软件或者找我要,Oracle GateWays中文名字叫透明网关。
1.1. 下载
官方网址是http://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
打开后点击See All
1.2. 安装
解压后双击setup。这里只介绍透明网关和oracle11g安装在同一台电脑上的方法。
点击下一步。
点击下箭头,选择oracle的安装目录,不要去手写,然后点击下一步
这里选择SQL SERVER
这里分别是主机名(IP地址)、实例名(sqlserver可不填)、数据库名。这三个可填可不填,后面可以在文件里面做修改。
1.3. 配置
打开安装路径找到initdg4msql.ora这个文件,该文件命名规则是:init+ID.ora。一般默认的就可以,打开文件将里面的IP地址和数据库名进行修改,如果安装的时候没有填写错误,这一步可以省略。
左面是IP地址,即sqlserver的IP地址,如果端口号不是1433,则必须加,右面是数据库名
修改下面的路径中的两个文件。
(SID_DESC =
(SID_NAME = dg4msql)
(ORACLE_HOME = C:\app\Administrator\product\11.2.0\dbhome_1)
(PROGRAM = dg4msql)
)
DG4MSQL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521 ))
(CONNECT_DATA = (SID = dg4msql))
(HS = OK)
)
重启监听,操作:计算机->管理(右键)->服务和应用程序->服务->找到Oracle服务(监听服务)进行重启操作。
1.4. 测试
在plsql中创建dblink
Create public database link dblink名字 connect to "sqlserver的用户名大多填写sa" identified by "sqlserver的密码sa的密码" using 'dg4msql';
实例:
Dblink名字可以随便起,sqlserver用户名和密码注意要用双引号。
测试连接:Select * from 表名@DBLink名称。
1.5. 特殊说明
- oracle修改global_name和service_name
如果安装的oracle的sid带有后缀域名,则在添加Dblink链接时,因为中间包含小数点,则会提示出错,例如:orcl.168.196.214
下面是如何在安装好oracle后,有后缀的取消方法:
在dos命令下执行如下的命令:
(1)show parameter db_name; --显示
(2) show parameter db_domain;
(3) show parameter service_name;
(4) select * from global_name;