vb.net 2010同步两个访问数据库

时间:2011-09-15 20:46:54

标签: vb.net winforms ms-access

我正在编写一个桌面应用程序,该应用程序使用将托管在中央服务器上的主访问数据库,但是将有一台笔记本电脑上的应用程序具有离线模式,因此可以在异地创建记录。当笔记本电脑返回时,我希望它需要同步回主数据库。

有没有人对此做过任何指示,我简要介绍一下JRO,但有没有其他/更好的方法?

最初,我只是想写一些自定义代码来做这件事,但我想我会检查以确保那里没有东西。

4 个答案:

答案 0 :(得分:3)

Access(至少到2003年)内置了复制数据库的功能,这些功能比使用自己的数据库要好得多。

以下是有关该功能的一些文档:Database Replication

答案 1 :(得分:3)

Jet Replication是这种场景的完美解决方案,因为您可以使用最简单的Direct Copy模式,而不需要任何外部依赖。

假设您的服务器名为\ HomeOffice \且数据库名为“MainDatabase.mdb”并存储在\ AccessDatabases \文件夹中,您可以在命令按钮后面使用此代码从笔记本电脑同步到服务器: / p>

  Dim dbServer as DAO.Database

  Set dbServer = DBEngine.OpenDatabase("\\HomeOffice\AccessDatabases\MainDatabase.mdb")
  dbServer.Synchronize CurrentDB.Name
  dbServer.Close
  Set dbServer = Nothing

现在,没有错误处理,你没有检查过冲突,所以你需要做更多的事情,但这样可以让你从基础开始。

有关Jet Replication的更多信息,请参阅Jet Replication Wiki

答案 2 :(得分:0)

MS Sync Framework可能就是答案,但设置起来有点棘手... http://msdn.microsoft.com/en-us/sync/bb821992

答案 3 :(得分:0)

Microsoft Sync Framework与ADO.NET和MS SQL Server / SQL Server Compact兼容,但这不是一个小组件,更像是一个多组件框架。