我正在编写一个桌面应用程序,它使用将托管在中央服务器上的主access数据库,但将有一台笔记本电脑上的应用程序具有离线模式,以便记录可以创建在异地。当笔记本电脑返回时,我希望它需要被同步回主数据库。
有没有人对此有什么建议,我简单地读了一下JRO,但是有没有替代/更好的方法呢?
最初,我只是打算写一些自定义代码来做这件事,但我想我应该检查一下,以确保没有什么已经存在的东西。
发布于 2011-09-19 07:37:22
对于这种情况,Jet复制是一个完美的解决方案,因为您可以使用它的最简单形式,直接复制,并且不需要任何外部依赖项。
假设您的服务器名为\HomeOffice\,数据库名为"MainDatabase.mdb“,并存储在\AccessDatabases\文件夹中,您可以在命令按钮后面使用以下代码从笔记本电脑同步到服务器:
Dim dbServer as DAO.Database
Set dbServer = DBEngine.OpenDatabase("\\HomeOffice\AccessDatabases\MainDatabase.mdb")
dbServer.Synchronize CurrentDB.Name
dbServer.Close
Set dbServer = Nothing现在,没有错误处理,也没有检查冲突,因此您需要做更多的工作,但这将使您从基础开始。
有关Jet复制的更多信息,请参阅Jet Replication Wiki。
发布于 2011-09-16 04:50:57
Access (至少到2003年)内置了复制数据库的功能,使用该功能比滚动自己的数据库要好得多。
以下是有关该功能的一些文档:Database Replication
发布于 2011-09-16 04:51:21
MS Sync Framework可能是答案,但它的设置有点棘手……http://msdn.microsoft.com/en-us/sync/bb821992
https://stackoverflow.com/questions/7437248
复制相似问题