Oracle & SQL Server 数据传输
在开发中用到的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 数据传输的更多相关文章
- 介绍几种大型的Oracle/SQL Server数据库免费版
我们知道,Oracle和SQL Server等大型数据库也都存在一些免费的版本,这些免费的版本已经能够满足许多中小项目的需求.对于在校大学生来说,从学习的目标上来讲,安装免费版的大型数据库也就足够用了 ...
- Oracle,SQL Server 数据库较MySql数据库,Sql语句差异
原文:Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 Oracle,SQL Server 数据库较MySql数据库,Sql语句差异 1.关系型数据库 百度百科 关系数据库 ...
- mysql,oracle,sql server数据库默认的端口号,端口号可以为负数吗?以及常用协议所对应的缺省端口号
mysql,oracle,sql server数据库默认的端口号? mysql:3306 Oracle:1521 sql server:1433 端口号可以为负吗? 不可以,端口号都有范围的,0~65 ...
- 触发器实现对插入数据的字段更改 Oracle+SQL Server
最近有个使用触发器实现对插入数据的某个列做更改的需求,因此整理了Oracle和SQL Server对于此类需求的触发器写法,本文仅提到了Insert触发器. 首先我们创建一张表: --创建Test表 ...
- 使用sql查询mysql/oracle/sql server/gp数据库中指定表的字段信息(字段名/字段类型/字段长度/是否是主键/是否为空)
1,根据数据库类型拼接不同URL /** * 根据类型不同拼接连接的URL * @param dbType 1:mysql.2:oracle.3:sql server.4:gp * @param ip ...
- 转:不在同一个服务器上的数据库之间的数据操作(oracle/sql server的对比)
如何操做不在同一个数据库中的数据操作: 一.对于SQL server来讲: 1.采用创建链接服务器的方式: (1).创建链接服务器 exec sp_addlinkedserver ...
- mysql,oracle,sql server中的默认事务隔离级别查看,更改
未提交读(隔离事务的最低级别,只能保证不读取物理上损坏的数据) 已提交读(数据库引擎的默认级别) 可重复读 可序列化(隔离事务的最高级别,事务之间完全隔离) 可串行化比较严谨,级别高; MySQL m ...
- Perl/C#连接Oracle/SQL Server和简单操作
连接数据库是一个很常见也很必须的操作.先将我用到的总结一下. 1. Perl 连接数据库 Perl 连接数据库的思路都是: 1)使用DBI模块: 2)创建数据库连接句柄dbh: 3)利用dbh创建语句 ...
- MySQL/Oracle/SQL Server默认端口、JDBCdriver、Url
sqlserver默认端口号为:1433URL:"jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=dbname"DRI ...
随机推荐
- Activity Process Task Application 专题讲解
Activity Process Task Application 专题讲解 Activity.和进程 为了阅读方便,将文档转成pdf http://files.cnblogs.com/franksu ...
- get running task , process and service
public class MyActivityManager extends ExpandableListActivity { private static final String NAME = & ...
- Android Volley的基本用法
1. Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序都会使用HTTP协议来发送和接收网络数据.Android系统中主要提供了两种方式来进行H ...
- 实战JAVA 高并发设计
一.同步(Synchronous)和异步(Asynchronous) 同步和异步通常用来形容一次方法调用,同步方法,调用者必须等到方法调用返回后,才能继续后续的行为,异步方法调用会立即返回,调用者就可 ...
- laravel 中将DB::select 得到的内容转为数组
$sql = "select count(*) as num from api_log where uid='{$this->uid}'"; $ ...
- PS基础教程[2]渐变工具的使用
PS中的渐变是一个很实用的工具,很多时候都会用到,我们在网页上看到的各种各样的颜色几乎都是一种渐变色,很少有一种颜色一层不变的.那么渐变如何使用呢?本次我们来介绍一下渐变的基本使用方法. 使用方法 1 ...
- 【sqlite】基础知识
最近做一个数控系统的项目,winCE嵌入式操作系统+.Net Compact Framework环境+VS2008开发平台,开发的设备程序部署到winCE系统下的设备中运行.. 个年头,SQLite也 ...
- 理解SQL【转http://blog.jobbole.com/55086/】
很多程序员视 SQL 为洪水猛兽.SQL 是一种为数不多的声明性语言,它的运行方式完全不同于我们所熟知的命令行语言.面向对象的程序语言.甚至是函数语言(尽管有些人认为 SQL 语言也是一种函数式语言) ...
- [BZOJ5133][CodePlus2017年12月]白金元首与独舞
bzoj luogu 题意 给你一个\(n*m\)的网格,每个位置上有一个箭头指向上或下或左或右.有些位置上还没有箭头,现在要求你在这些没有箭头的位置上填入箭头,使得从网格的任意一个位置开始,都可以沿 ...
- Object.prototype.hasOwnProperty()
hasOwnProperty() 方法会返回一个布尔值,指示对象是否具有指定的属性作为自身(不继承)属性. 语法 obj.hasOwnProperty(prop) 参数 prop 要检测的属性 字符 ...