【发布时间】:2009-05-20 13:31:16
【问题描述】:
我正在寻找有关如何在两个数据库之间同步数据的意见和建议。
第一个数据库是 SQL Server 2008 Express,可在断开连接的笔记本电脑(无网络或互联网访问)上运行。第二个数据库(主)是在服务器上运行的 VFP 9.0。
当用户将他们的笔记本电脑连接到网络上时,我希望完成同步过程。
除了不同的数据库引擎,我还有以下几点需要考虑:
- 表格不必具有相同的结构
- 主键不相同(SQL Server 中的 GUID 和 VFP 中的字符字段组合)
- 表的同步必须按照一定的顺序进行,以尊重父子关系
- 在 SQL Server 端的某些插入操作中,必须生成新的主键并在 VFP 表中同步
- 必须进行大量验证,有时需要用户提供一些反馈
- 并非所有记录都需要同步
- 同步后需要删除SQL Server上的部分记录
- 需要考虑双方删除的记录
- 需要对 VFP 数据库进行最少的修改
我现在可能忘记了其他几点,但我想你知道我面临的挑战。我现在的猜测是我需要构建一个自定义同步模块,但在我继续之前我希望你能提供意见,以防我忽略了一些选项并获得一些关于如何解决这个问题的提示。
我快速查看了 Microsoft Sync Framework,但由于我的所有限制以及尚未构建 VFP 客户端 (AFAIK) 的事实,我认为它不会有很大帮助。
提前感谢您的反馈。
更新:笔记本电脑应用程序是 C# WinForm 应用程序,使用 SQL Server 2008 Express。
【问题讨论】:
标签: c#-3.0 synchronization sql-server-2008-express visual-foxpro