SQL Server和Oracle间的数据同步解决方案

本文讨论了不同数据库间数据同步的方法,包括单向同步与双向同步的技术实现,提出了使用LOG表和文本文件进行数据交换的具体实践,并分享了通过链接服务器及存储过程实现Oracle与SQL Server之间数据复制的经验。

KingSunSha(弱水三千):

是单向同步吗?即对于特定的表只有一个数据库的数据发生变化?我们是用文本文件进行数据交换,定时一个数据库发送所有在上次发送以后更改过的纪录,然后在另一端读入文本文件,当然要写一些发送和读入的脚本   
  如果是双向的那问题就复杂好多  
   


  lisz()   :

我实现了从Oracle到SQL的复制。  
  建立链接,把Oracle的数据库链接到SQL上,再在SQL上使用SP定时更新记录,具体的做法在SQL的帮助上都有的。我想SQL到Oracle也可以做到。  
   


  KingSunSha(弱水三千):

还有一个做法我们也用过:对于需要同步的表,建立一个LOG表,每次对原表的操作,通过过程或者触发器(很少用触发器也是因为跟踪太困难)写入LOG表,定时把LOG表中的纪录用文本文件的方式发FTP到目标端服务器,然后清空LOG表;在服务器端把文本文件倒入临时表中,在从临时表中对数据进行校验后写入目的表。  
  这么做确实工作量比较大,但我们认为是值得的。对于同步来说,很重要的一点是必须非常方便查错和恢复,因为在传输过程中常常有不可预知的错误。所以我们不大喜欢用SNAPSHOT之类的工具,而采用自己写代码的方式控制。因为这些工具跟踪过程太麻烦,很多东西是黑箱操作。  

 

farspeed(farspeed)回复于 2002-05-29 15:17:00 得分 33

我做过类似的操作,具体的方法是,同事连着   oracle   和   sqlserver    
  (通讯程序)  
  然后从数据发起端读出数据,然后写入到数据接收端。  
   
  需要说明的是,两边的接口尽量简单,数据库部分的操作尽量放在数据库中,  
  通讯程序只负责通讯工作。   
   

 

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/35489/viewspace-600662/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/35489/viewspace-600662/

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符  | 博主筛选后可见
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值