Oracle与SQL Server的互连

文章作者 100test 发表时间 2007:05:18 11:01:16
来源 100Test.Com百考试题网


 
不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在SQL SERVER里面叫做LINKED SERVER,通过ODBC实现与其它数据库的互联。

ORACLE实现异构服务的技术叫做透明网关(Transparent Gateway),当然之前ORACLE还采用过通用连接技术。目前ORACLE利用透明网关可以实现和SQL SERVERSYBASEDB2等多种数据库的互联。

透明网关的体系结构也很简单,在ORACLESQL SERVER之间使用ORACLE透明网关服务器实现互连互通,其中透明网关服务器可以与ORACLESQL SERVER数据库在同一台主机上,也可以是在独立的一台主机上。

下面是具体步骤

1
、在SQL SERVER数据库上创建测试账号和表

这里我用的是10.16.74.140PUBS数据库,账号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)

)

6
、修改ORACLE SERVER的初始化参数,将global_names设为false,因为我们并不使用GLOBAL NAME。然后重起数据库。

7
、现在在ORACLE SERVER上创建DB LINK就可以了。下面实验数据:


C:>sqlplus /nolog

SQL*Plus: Release 9.2.0.1.0 - Production on
星期三 6 25 13:29:41 2003

Copyright (c) 1982, 2002, Oracle Corporation. All rights reserved.

SQL> conn sys/change_on_install as sysdba

已连接。

SQL> create user cyx identified by cyx default tablespace users.

用户已创建

SQL> grant connect to cyx.

授权成功。

SQL> grant resource to cyx.

授权成功。

SQL> conn cyx/cyx

已连接。

SQL> create database link tosql2k connect to cyx identified by cyx using

2 sql2k.

数据库链接已创建。

[1] [2] 下一页



相关文章


[组图]<_span>Oracle 9i服服务器的启动
Oracle与SQL Server的互连
数据库并发问题详述
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛