• 网络学院
  • IT资讯
  • 操作系统
  • 网络技术
  • 软件应用
  • 办公软件
  • 编程技术
  • 网站架设
  • 数据库类
  • 平面设计
  • 多媒体类
  • 游戏资讯
  • 教学论文
  • 认证考试
Oracle与SQL
  站点:
  • 首 页
  • 最新软件
  • 文章教程
  • 国内软件
  • 国外软件
  • 绿色软件
  • 源码下载
  • 字体下载
Oracle与SQL Server的互连
软件发布 Oracle与SQL Server的互连
网络软件 系统工具 应用软件 联络聊天 图形图像 多媒体类 行业软件 游戏娱乐 编程开发 安全相关 教育教学 数码软件 绿软下载
热门软件: QQ 瑞星 pplive e话通 木马克星 千千静听 office2000 五笔字根 Photoshop 视频分割
返回文章教程首页 >> 文章首页 >> 认证考试 >> Oracle认证 >> Oracle指导 >> Oracle与SQL Server的互连

Oracle与SQL Server的互连

添加时间: 2008-4-20 21:47:24  作者: Oracle指导  阅读次数:11   来源: http://www.d9soft.com

       

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

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

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

    下面是具体步骤。

    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

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

    数据库链接已创建。
  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行。

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

    现在这个oracle server上添加tnsname。

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

    Databas, e 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、各数据库中特殊的数据类型,需要在程序中实现转换,应尽量避免使用无法转换的数据类型。

 

上下文章:

 

上一篇文章: 安装Oracle 9i数据库服务器 下一篇文章: Oracle 9i服服务器的启动

相关文章:

  • 用Windows Server 2003架设小型邮件服务器
  • 用CMailServer打造邮件服务器
  • Server 2003中为SNMP服务配置网络安全性
  • 在ORACLE的存储过程中如何做简单的动态查询
  • Oracle下调数据库许可价格以适应多芯CPU

相关软件:

  • AVira AntiVir Windows Server 2003/2000 8.1.0.1578
  • DHCP Server V7.0
  • SoftEther VPN Server V2.0 Beta 4 Build 4660
  • MySpeed Server V7.1a
  • Foxmail Server For Windows V2.0 公测版
  • Foxmail Server For Linux V1.3 试用版

 

快速导航

  • 网络学院
  • 精品汇聚
  • 字体下载
  • 教程下载
  • ASP源码
  • PHP源码
  • Net源码
  • JSP 源码

Oracle认证分类导航

  • Oracle动态
  • Oracle指导
  • Oracle题库

本类经典文章推荐

  • Oracle中关于逻辑备份与恢复
  • Oracle开发人员JAVA存储过程
  • 为数据库的表自动生成行号
  • Oracle中的OOP概念
  • 用java从oracle取数
  • 冷备份移植到另一台Solaris机器上
  • 如何将excel数据导入oracle中
  • Oracle10.2g安装记录
  • 数据库监控工具ForOraclev1.2
  • oracle双机群集系统

Oracle指导阅读排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • Oracle企业管理器(OEM 2.1)使用...
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • 如何取出某一用户的密码 再原样改...
  • 实例:Oracle导出EXCEL文件
  • 案例学习Oracle错误:ORA-00604
  • 案例学习Oracle错误:ORA-00060

Oracle认证阅读总排行

  • Oracle系统表查询
  • 实例:Oracle导出EXCEL文件
  • Oracle常用的OCI函数上
  • 在ORACLE的存储过程中如何做简单的...
  • Oracle企业管理器(OEM 2.1)使用...
  • Tomcat+SQLServer连接池配置
  • 如何将excel数据导入oracle中
  • AIX下自动启动Oracle数据库与监听...
  • 如何取出某一用户的密码 再原样改...
  • 实例:Oracle导出EXCEL文件

广告位置

字母检索 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z 回到顶部

关于我们 | 版权声明 | 免责条款 | 广告联系 | 软件发布 | 下载帮助 | 下载排行 | 网站地图 | 特别鸣谢 | 友情连接

copyright; 2005-2008 D9soft.com 第九软件网 版权所有