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 ...
随机推荐
- Android以root起一个process[shell脚本的方法]
有时候我们写的app要用uid=0的方式启动一个process,framework层和app层是做不到的,只有通过写脚本,利用am来实现.下面是具体步骤: 1.创建一个包含Main()方法Java p ...
- setInterval(callback(),time)
最近在写一个需求的时候,出了点小小的问题,在这做个记录. 对于定时函数setInterval()大家应该都不陌生,setInterval(callback(),time)就是说设置一个定时器,每隔ti ...
- ng 变量和常量服务
<!DOCTYPE html> <html ng-app="myApp"> <head lang="en"> <met ...
- Python判断unicode是汉字,数字,英文,或者其他字符
功能: 判断unicode是否是汉字,数字,英文,或者是否是(汉字,数字和英文字符之外的)其他字符. 全角.半角符号相互转换. 全角.半角? 全角--指一个字符占用两个标准字符位置. 汉字字符和规定了 ...
- ranch实现游戏服务器
在 erlang游戏开发tcp 我们建立起了自己的socket tcp 服务器的基本骨架.当时面对并发情况下,多人同一时刻连接服务器的时候,我们的基本骨架 还是难以应付处理.这就使我不得不想对这样的情 ...
- 快速沃尔什变换FWT
快速沃尔什变换\(FWT\) 是一种可以快速完成集合卷积的算法. 什么是集合卷积啊? 集合卷积就是在集合运算下的卷积.比如一般而言我们算的卷积都是\(C_i=\sum_{j+k=i}A_j*B_k\) ...
- 转载pll工作模式解析
PLL共有四种工作模式,只有理解了这四种工作模式的特点,才能在设计中选用恰当的模式,完成自己设计的预期功能.这四种工作模式分别是普通模式(Normal Mode).零延迟缓冲模式(Zero Delay ...
- UGUI 分页渐变居中效果
代码相当冗长,仅作自己记录 在此分页上修改的https://blog.csdn.net/qinyuanpei/article/details/49781133 using UnityEngine;us ...
- Visual Studio Code教程:基础使用和自定义设置
一.界面介绍 1.1 界面介绍 1.2 文件夹和文件的打开 文件——>打开文件夹/打开文件 1.3 新建文件/文件夹 新建文件: a. 文件——>新建文件: b. 按Ctrl+n; c. ...
- Angular2常用命令
一.常用命令 1.1 npm config list配置项目 可进行相关代理配置,通常可以配置在网络环境较差的情况下,配置相关代理.相关的设置命令如图: 1.2 ng 新建启动项目 ng new pr ...