MS Access 数据库和 MySql 之间的同步
Posted
技术标签:
【中文标题】MS Access 数据库和 MySql 之间的同步【英文标题】:Synchronizing between MS Access Database and MySql 【发布时间】:2014-03-28 15:30:58 【问题描述】:我的公司在本地机器上有一个 MS Access 数据库,在 phpMyAdmin 维护的服务器上有一个 mysql 数据库。他们要求我做的是将任何更改从 MS Access 数据库推送到 MySQL 数据库。
我解决这个问题的计划是: 1. 在固定时间间隔后检查 MS Access 数据库中的更改(创建、更新、删除)。 2.如果存在变化,获取新记录,用JSON/XML编码 3. 将更改上传到服务器并更新数据库
我以前从未使用过 MS Access 数据库,所以我想知道的是,我如何才能知道对 MS Access 数据库进行了哪些更改。我想知道每条记录的字段名称和值。
谢谢。
【问题讨论】:
我曾经受雇做类似的事情。工作量、中间脚本的麻烦和数据传输的延迟是我完全放弃访问的原因,因此我们将所有内容都转换为 MySQL 并构建了一个 Web 界面来与数据交互。您的情况可能有所不同,但我认为这是一个很好的选择。如果本地机器死了怎么办?如果本地机器网络宕机了怎么办? 为什么不将 MySql 故事添加为 Access 中的链接表?您只需要 MySql ODBC 驱动程序。这样您就可以跳过 JSON/XML 部分。 @iDevelop 如果本地机器网络出现故障怎么办?数据会不会有缺口? @LeeSalminen:向公司提出了相同的观点,但似乎他们从一开始就依赖 MS Access,现在改变为时已晚。 @iDevlop:是否可以将 MySQL 链接到现有的 Access 数据库。如果您可以将我链接到有关此的任何文档/指南,那将是一个很大的帮助! 【参考方案1】:在您的 MySQL 表上,我会保留一个与 Access 表上的主键匹配的外键列。
然后你只需要编写一个比较脚本,当 Access 等中不再存在该键时,从 MySQL 中删除...
请参阅我在您的问题下的评论。从长远来看,完全取消访问权限可能(通常)更有意义。我以前曾说服客户这样做,他们从不后悔。只要想出一个好的 SWOT 分析……商界人士就喜欢这些。
【讨论】:
+1 因为我在Ditch-Access
点上完全同意你的观点:) 谢谢你的想法,但它只处理删除。我也在寻找可以处理编辑的东西。到目前为止,我的想法是添加一个包含每条记录的哈希码的字段。我使用脚本检查哈希码的更改以查找数据库中的更改,但我希望 Access 的功能集能够提供更简单的解决方案以上是关于MS Access 数据库和 MySql 之间的同步的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在 mysql 服务器和本地 MS Access 之间同步(两种方式)表?
如何连接来自两个不同数据库(ms.access 和 mysql)的三个表?