首页 / 数据库 / SQLServer / Oracle与SQL Server的互连
Oracle与SQL Server的互连2007-12-26不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。而ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实现和SQL SERVER、SYBASE、DB2等多种数据库的互联。透明网关的体系结构也很简单,在ORACLE和SQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLE或SQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。下面是具体步骤,如有疑问欢迎和我联系,MSN: gototop_ncn@hotmail.com。1、在SQL SERVER数据库上创建测试账号和表这里我用的是10.16.74.140的PUBS数据库,账号cyx,create table t (c char(10));2、我测试所用数据库和透明网关是在同一台机器上,在我本机:10.16.98.16,透明网关在oracle默认安装时是不安装的,所以如果你想用需要选择这一选项。3、安装透明网关for sql server的软件后,可以在$ORACLE_HOME下看到tg4msql目录,编辑$ORACLE_HOME/tg4msql/admin/inittg4msql.sql文件确认这一行正确:HS_FDS_CONNECT_INFO="SERVER=10.16.74.140;DATABASE=pubs"4、修改透明网关server上的listener.ora,在SID_LIST中加入以下内容:(SID_NAME = tg4msql) # SID自己命名(ORACLE_HOME = c:)(PROGRAM = tg4msql)5、在oracle server上的tnsnames.ora中加入到透明网关的tnsname,内容如下: sql2k =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = 10.16.98.16)(PORT = 1521)) #此处HOST填的是透明网关SERVER的地址
)
(CONNECT_DATA = (SID = tg4msql) ) #此SID应和透明网关SERVER上设定的SID相同
(HS=OK)
)