gpt4 book ai didi

php - 如何更新远程 MS Access 数据库?

转载 作者:搜寻专家 更新时间:2023-10-30 20:11:51 26 4
gpt4 key购买 nike

我需要创建一个网络应用程序来显示并允许编辑一组数据。

此数据包含在 Access 数据库文件中,由另一个应用程序(桌面应用程序)使用。

我正在评估执行这项工作的最佳方式。

不幸的是,我迁移到另一个数据库解决方案(rdbms,例如 MySQL 或 Postgres)的目的被客户拒绝了。

这里的问题是如何在服务器和执行也使用该数据的应用程序的桌面之间保持数据完整性和同步。

我需要做的就是读取数据、存储编辑过的数据或新数据,为授权用户提供一个界面来查看这个新插入的数据 - 从而验证它 - 并将其导入原始 Access 数据库。

我找到了以下可能的解决方案(更新桌面 mdb 副本),但它们各有利弊:

  • 远程 Access windows机器
    • 将机器暴露给未经授权的 Access
  • 使用 rsync 保持文件同步(每天一次)
    • 如果客户端上的 mdb 已经用桌面应用程序编辑过,将会丢失数据
    • 只有在所有数据都经过验证后才能更新
    • 不会有真正的同步数据(直到 rsync 运行)
  • 客户端-服务器应用程序
    • 可以使用安全层来保护数据免受攻击
    • 需要第三个应用程序(在桌面上)
    • 同步要求授权用户使用此第三个应用程序导入数据(这将查询远程数据库并更新本地 mdb)

您是否知道其他可以帮助我完成这项工作的方法?我以客户端-服务器模型为导向,如果这会更昂贵的话,但这是我看到的实现这项工作的唯一方法。

您是否看到目标解决方案的其他优点/缺点?

我没有选择 PL 来开发它,但我正在考虑使用 PHP 和/或 Python。远程环境(对于服务器)可以是 Windows 或 *nix(首选)。

谢谢。

最佳答案

第一个想法:

exposes the machine to unauthorized access

这不是一个真正有效的论点。您放在互联网上的所有内容都会暴露。它并不是不能通过 SSL/TLS 进一步保护。例如,甚至可以通过 SSH 隧道保护 RDP。

在我看来,最简单和最优雅的方法是使用网络服务 (SOAP)。使用 Python 或 Java 编写在 Access 数据库上执行插入/更新的服务器代码。从工作代码生成 WSDL。从 WSDL,您可以为 PHP/Python 生成一个客户端。现在您所要做的就是编写使用 PHP/Python 客户端的 Web 界面。

对于安全性,使用 SSL 和基本身份验证应该足够了(例如,在 Python 的情况下由 SOAPpy 支持)。您可以使用 pyodbc 连接到 Access 数据库。

关于php - 如何更新远程 MS Access 数据库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8864240/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com