在开发中用到的Oracle与SQL Server间数据传输的不同方法的整理,比较。包括原理的
简介,配置和实现方法,优缺点的比较,使用平台和DB,适合的应用范围和效能的比较。

整理的方法有如下六种:

1. Oracle Transparent Gateway Connect to SQL Server
使用Oracle提供的透明网关建立异构数据库连接关系。实现数据传输。
支持Distribution Transaction, 效能极好,使用时与普通SQL用法基本一致,异构数据库之间的联系
非常透明,且在使用SQL Server提供的数据时同样可以应用到Oracle Procedure等特有资源,因此仅需一
次性的配置,基本不需要在使用中再进行任何培训。
适合同时使用以Oracle为主的多种数据库且有数据关联的项目,使用教透明,在开发中基本不必考虑异构数
据库的影响,且能提供完善的事务支持。

2. SQL Server Link Server
使用MS SQL Server 提供的Linked Server建立对其他异构数据库服务器的单向信任连接,实现数据传输。
支持Distribution Transaction, 效能较好,但存在平台限制,连接仅能设置在SQL Server端,使用较透明。
使用时SQL语法与常用方法差别很小,很利于开发人员快速适应使用。
适合同时使用以SQL Server为主的多种数据库且有数据关联的项目,使用教透明,在开发中基本不必考虑异
构数据库的影响,且能提供完善的事务支持。

3. Web Method 构建统一数据平台
开发方便快速,不受OS等平台限制,有很完备的log机制但是不支持Transaction,对Table Schema等
数据库对象的初期维护要求较高,不易推广。
Web Method平台不太适合用于SQL Server与Oracle之间的数据转换,这跟用其他语言程序来访问数据
库获得数据然后Insert在本质上没有什么区别, 非常适合于有类似订阅发布机制的数据传输和转换的需求,适
合系统数据整合,即实现各个系统间数据的同步。

4. 基于Web Service的Oracle与SQL Server之间进行数据交换
能够桥接不同组件模块的系统、操作系统和编程语言之间的差异,可直接在Web Service发布的服务器上进
行更新,而不需要考虑对客户端的影响,可以在后台进行启用,可减少用户的无效等待时间。有完整的数据传输
Check机制,但是同样不支持Transaction,而且数据传输使用明文,安全性不高,且较二进制代码效率较低。
 适合需要在不同平台间进行数据交互(即Oracle 和 SQL Server分别被不同的平台使用), 需要的透明性
比较强但又不希望数据库被其它用户直接操作, 同时对事物处理要求不高,且难以在本地部署或者本地部署代价
过高的情况。

5. Visual Basic (AP)实现数据传输
使用Visual Basic,利用COM+和MTS等通过VB编码实现不同DB间的数据传输。VB简单易学。有利于
快速开发系统。MTS屏蔽了底层实现的复杂性,使开发人员可以将精力集中在业务逻辑上。但是实现方案本身配置
复杂,需要打各种补丁(patch),对系统依赖性强。
适合Oracle与SQL Server之间进行数据传输,需要事务支持,且传输过程还有依据业务逻辑对数据进行
处理的需求。

6. DTS数据传输
使用MS SQL Server提供的DTS进行异构数据库的数据传输。
操作简单,仅需托拽,也可以编辑脚本执行并且可以作为SQL Job执行。 数据流向灵活,为双向。但功能单,
仅能实现数据传输,不能应对复杂业务逻辑,无事务级约束,无法保证数据传输的完整性。效能一般。
  比较适合单纯的少量数据的导入导出操作,且对数据的完整性要求不高。

http://www.doc88.com/p-188634055285.html

Oracle & SQL Server 数据传输的更多相关文章

  1. 介绍几种大型的Oracle/SQL Server数据库免费版

    我们知道,Oracle和SQL Server等大型数据库也都存在一些免费的版本,这些免费的版本已经能够满足许多中小项目的需求.对于在校大学生来说,从学习的目标上来讲,安装免费版的大型数据库也就足够用了 ...

  2. Oracle,SQL Server 数据库较MySql数据库,Sql语句差异

    原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...

  3. mysql,oracle,sql server数据库默认的端口号,端口号可以为负数吗?以及常用协议所对应的缺省端口号

    mysql,oracle,sql server数据库默认的端口号? mysql:3306 Oracle:1521 sql server:1433 端口号可以为负吗? 不可以,端口号都有范围的,0~65 ...

  4. 触发器实现对插入数据的字段更改 Oracle+SQL Server

    最近有个使用触发器实现对插入数据的某个列做更改的需求,因此整理了Oracle和SQL Server对于此类需求的触发器写法,本文仅提到了Insert触发器. 首先我们创建一张表: --创建Test表 ...

  5. 使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)

    1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip ...

  6. 转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)

    如何操做不在同一个数据库中的数据操作: 一.对于SQL server来讲:  1.采用创建链接服务器的方式:    (1).创建链接服务器       exec sp_addlinkedserver  ...

  7. mysql,oracle,sql server中的默认事务隔离级别查看,更改

    未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据) 已提交读(数据库引擎的默认级别) 可重复读 可序列化(隔离事务的最高级别,事务之间完全隔离) 可串行化比较严谨,级别高; MySQL m ...

  8. Perl/C#连接Oracle/SQL Server和简单操作

    连接数据库是一个很常见也很必须的操作.先将我用到的总结一下. 1. Perl 连接数据库 Perl 连接数据库的思路都是: 1)使用DBI模块: 2)创建数据库连接句柄dbh: 3)利用dbh创建语句 ...

  9. MySQL/Oracle/SQL Server默认端口、JDBCdriver、Url

    sqlserver默认端口号为:1433URL:"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname"DRI ...

随机推荐

  1. SVN的详细简单操作

    SVN服务器搭建和使用(一)  http://www.cnblogs.com/xiaobaihome/archive/2012/03/20/2407610.html SVN服务器搭建和使用(二) ht ...

  2. beego配置文件

    关于App配置: #App配置 for Api AppName = ApiService RunMode = dev RouterCaseSensitive = true ServerName = A ...

  3. Java进阶面试问题列表

    面向对象编程的基本理念与核心设计思想 解释下多态性(polymorphism),封装性(encapsulation),内聚(cohesion)以及耦合(coupling). 继承(Inheritanc ...

  4. Java 线程的中断机制

    今天我们聊聊 Java 线程的中断机制. 线程中断机制提供了一种方法,用于将线程从阻塞等待中唤醒,并作出相应的“受控中断”处理. synchronized (lock) { try { while ( ...

  5. uid

    var uid = 0 function nextUid() { return ++uid }

  6. 洛谷 P1292 倒酒

    题目描述 Winy是一家酒吧的老板,他的酒吧提供两种体积的啤酒,a ml和b ml,分别使用容积为a ml和b ml的酒杯来装载. 酒吧的生意并不好.Winy发现酒鬼们都非常穷.有时,他们会因为负担不 ...

  7. Vue中render: h => h(App)的含义

    // ES5 (function (h) { return h(App); }); // ES6 h => h(App); 官方文档 render: function (createElemen ...

  8. 恢复所有情况的ip地址

    在终端下输入一串ip字符串如:19219219211,ip地址可能是19.219.219.211.192.19.219.211.192.192.19.211和192.192.192.11. 以下是本人 ...

  9. CentOS上面搭建SVN服务器

    1.安装svn sudo yum install subversion 查看安装位置 which svnserve 确认安装成功 svnserve --version 2.修改全局配置文件修改全局配置 ...

  10. 题目1534:数组中第K小的数字 ——二分

    http://ac.jobdu.com/problem.php?pid=1534 给定两个整型数组A和B.我们将A和B中的元素两两相加可以得到数组C.譬如A为[1,2],B为[3,4].那么由A和B中 ...