我正在寻找有关如何在两个数据库之间同步数据的意见和建议。
第一个数据库是 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。