Oracle与SQL Server的互连

秋霜别恋宏

秋霜别恋宏

2016-02-19 15:20

今天图老师小编要向大家分享个Oracle与SQL Server的互连教程,过程简单易学,相信聪明的你一定能轻松get!

  不同数据库平台的互连一般称之为数据库的异构服务,现在各大数据库之间都可以实现这样的异构互连,只是各厂商的具体实现技术不一样,如:在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)
  )

  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

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

  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';

  数据库链接已创建。

(本文来源于图老师网站,更多请访问http://m.tulaoshi.com/bianchengyuyan/)

 SQL select * from t@tosql2k;
  c
  ----------
  abc
  aaa
  bbb
  cyx
  gototop
  ncn
  11111

  已选择7行。

  SQL insert into t@tosql2k values('ncn.cn');

  已创建 1 行。

  SQL commit;

  提交完成。

  SQL select * from t@tosql2k;
  c
  ----------
  abc
  aaa
  bbb
  cyx
  gototop
  ncn
  11111
  ncn.cn

  已选择8行。

  ------------ www.ncn.cn ------------- gototop --------------

  以上示例,oracle server和透明网关server都是在同一台机器上,像在开始说明的那样,我们同样可以在其他下面oracle server中通过透明网关来访问sql server的数据。下面是示例:

  现在这个oracle server上添加tnsname。

  ------------ www.ncn.cn ------------- gototop --------------
  hawk3$sqlplus cyx
  SQL*Plus: Release 8.1.7.0.0 - Production on Wed Jun 25 14:00:34 2003
  (c) Copyright 2000 Oracle Corporation. All rights reserved.
  Enter password:
  Connected to:
  Oracle8i Enterprise Edition Release 8.1.7.0.0 - Production
  With the Partitioning option
  JServer Release 8.1.7.0.0 - Production
  SQL create database link hawk3_sql2k connect to cyx identified by cyx
  2 using 'sql2k';
  Database link created.
  SQL select * from t@hawk3_sql2k;
  c
  --------------------
  abc
  aaa
  bbb
  cyx
  gototop
  ncn
  11111
  ncn.cn
  8 rows selected.

  很多朋友问到关于透明网关的一些问题,在此加以说明如下:

  1、Oracle For SQL Server的透明网关在UNIX下无法实现,目前只支持WIN; 原因很简单,SQL Server本身不支持UNIX,所以Oracle也无法直接在UNIX下访问SQL Server。

  2、Oracle For其它数据库的透明网关,如SYBASE等有UNIX本版本的数据库在UNIX可以实现。

  3、Oracle透明网关软件在Oracle 8i时是需要花钱另买的,大约1万$;到Oracle 9i时是作为数据库的一个组件免费发布的。安装时在组件种选择即可。

  4、针对我们的实际应用,如果有需要实现Oracle 到SQL Server的互连,我们需要另外用一台WIN下的Oracle 9i来做透明网关服务器,其它UNIX下的Oracle通过这个透明网关来访问SQL Server。

  5、不同数据库间的数据处理需使用标准SQL来实现。

  6、各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。

展开更多 50%)
分享

猜你喜欢

Oracle与SQL Server的互连

编程语言 网络编程
Oracle与SQL Server的互连

Oracle与SQL Server在企业应用的比较

编程语言 网络编程
Oracle与SQL Server在企业应用的比较

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

SQL Server与Oracle实施成本上的差异

编程语言 网络编程
SQL Server与Oracle实施成本上的差异

SQL Server与Oracle并行访问本质区别

SQLServer
SQL Server与Oracle并行访问本质区别

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

比较SQL Server与Oracle DB2的不同

编程语言 网络编程
比较SQL Server与Oracle DB2的不同

Oracle与SQL Server在企业应用中的比较

编程语言 网络编程
Oracle与SQL Server在企业应用中的比较

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

怎样将WPS文档上传至云端?

怎样将WPS文档上传至云端?

SQL Server安全专题"SQL Server数据库的一些攻击

SQL Server安全专题"SQL Server数据库的一些攻击
下拉加载更多内容 ↓