求最佳数据库同步方案!
需求:
1、现有一台Server装有ServerDB;Client若干,每台都装有ClientDB。
2、Client端有UI,执行上传,可以将ClientDB数据上传到ServerDB。
要求:
1、.net环境下用代码的方式实现,不希望使用数据库本身的同步机制。
2、使用的SqlServer数据库。
用其中的一张表,举例说明:
IDKey主键uniqueidentifier
MchIDClient端的编号int
Field1其它字段
Field2其它字段
Field3其它字段
......
需要注意的问题:
已经上传过的数据有可能在本地被修改过,也有可能被删除。也就是说本地执行上传后,Server上的数据要和本地一致。
[解决办法]
不会只能帮顶 楼下解答!
[解决办法]
帮顶了!
[解决办法]
...
[解决办法]
用作业方式就可以同步了
[解决办法]
...好麻烦啊。用一个数据库不行吗?
[解决办法]
顶!!!!
[解决办法]
rowversion
[解决办法]
SQLSERVER+VPN行不?要不WEBSERVICE或MFC
[解决办法]
可以用这个方案
在服务端和客户端数据库里增加一个表,表里有Client编号和更新时间两个字段
每次更新数据时都往这个表里写入相应Client最后更新时间(无论是修改、删除、添加等操作,都写入最后更新时间)。
然后,Client每次与Server连接的时候,首先进行两个表最后更新时间比较,判断哪个更新,如果是客户端新,则上传数据,如果是服务端新,则下载数据,这样,服务器端和客户端都会进行同步,这样基本可以保持数据一致。
需要注意的是这个表里最好能记录更新时更新的表名和行ID。
[解决办法]
作业方式或者创建Visual Business Intergration项目,自定义SSIS服务包,专门用来批量处理数据
http://msdn.microsoft.com/zh-cn/library/ms174181.aspx
[解决办法]
为了方便控制纪录版本,可以考虑在数据表里额外地加上timestamp字段,用来标识行版本号
[解决办法]
作业同步。。。