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/