有个数据同步的方案
给远程服务器每个表加timestamp字段,每次读取,先从服务器获取所有table主键跟timestamp,比较本地数据再根据timestamp变化情况。每次读取记录最大timestamp,下次只读取大于这个时间戳的数据。我想请问下:如何读取最大的timestamp?因为时间戳是实时更新的,除非是每次更新完后都有个字段记录他的上一次更新时间
@@DBTS读取的是当前时间戳,而不是上一次更新的最大值。
这样是不是同步的双向表都要加个记录timestamp的上次值的字段呢
给远程服务器每个表加timestamp字段,每次读取,先从服务器获取所有table主键跟timestamp,比较本地数据再根据timestamp变化情况。每次读取记录最大timestamp,下次只读取大于这个时间戳的数据。我想请问下:如何读取最大的timestamp?因为时间戳是实时更新的,除非是每次更新完后都有个字段记录他的上一次更新时间
@@DBTS读取的是当前时间戳,而不是上一次更新的最大值。
这样是不是同步的双向表都要加个记录timestamp的上次值的字段呢
解决方案 »
- 急求!!!用数据库编写一个实验管理系统!!考试需要,高手来帮忙啊!谢谢了!
- 总计和一月合计
- 关于用sp_rename 更改数据表表名的问题(无未结帖子记录),分只给第一个解决问题的人,UP无分
- 简单的问题 报表
- 数据库备份,恢复过程,是否对数据库本身的性能产生影响,是否会对服务器性能造成影响,谢谢!
- 搜索日志文件
- SQL 2005,如何对比两个数据库之间的差异
- 前天参加面试时考了这样一道数据库题目,请帮我看一下,该怎样做呢?
- access 2000下的create table怎么写,得到例子马上给分
- select有返回指定记录数的语法吗?
- 在上下文中不允许使用名称“xxx”的错误
- 大家来看看我这个存储过程。。。
select @@DBTS from table
为什么值都是0x0000000000000FA0
select 1 from table 为什么值都是1?
请问不是最大时间戳吗?
你远程服务器上的表都增加一个TMSTAMP字段,使用TIMESTAMP类型,那目的库是否也可以增加一个TMSTAMP字段,类型BIGINT,你同步的时候将远程的CONVERT(BIGINT,TMSTAMP)同步到本地,那本地的最大时间戳就是一个节点,每次同步只要比这个值大的数据导过来就可以了。这个适合简单的数据增长,如果中间数据有修改的话就比较复杂了。
一、数据库同步传输
1、全面支持Sql Server、Oracle和MySql交互数据传输;
2、通过各自的时间戳技术,对变更数据即时发布和传输;
3、通过最大兼容各版本和各差别字段,实现一套数据库向多类数据库的同步与发布;
4、可以支持ODBC、OLE DB和直接连接多种方式,满足各种速度或者精度方面要求;
5、支持字段同步、索引同步