gpt4 book ai didi

delphi - Delphi 的数据库同步解决方案

转载 作者:行者123 更新时间:2023-12-03 15:17:37 24 4
gpt4 key购买 nike

我正在寻找一些将 Win32 Delphi 应用程序的数据与 Web 应用程序的远程数据库集成的起点。

该项目想要解决的问题:

1) 桌面在 VPN 上的性能不佳。远程办公室的用户可以改用网络应用程序。

2) 有些公司更喜欢网络应用而不是桌面应用

3) 移动设备可以将网络应用程序作为前端。

我发现的问题:

Web 应用程序将在基于 Unix 的系统(可能是 Linux)上运行,而桌面应用程序使用 NexusDB,而 Web 应用程序可能是 Postgres。不同的平台和数据库。

使用 Delphi,看来 Microsoft Sync Framework 不适用于该项目。

我的第一个想法是为 Web 应用程序提供标准 REST API,并让桌面应用程序每 n 分钟从本地数据库服务器访问该 API,就好像它是客户端一样。我已经看到了很多问题!

最佳答案

理查德,我以前也曾走过这条路,我只能说不要这样做!我曾经在一家公司工作,该公司有一个在 DBISAM 上运行的大型 Delphi 桌面应用程序(超过 250 个表单)(与您所拥有的非常相似)。客户想要一个“Web”界面,以便人们可以远程工作,然后使网络应用程序和桌面应用程序同步更改。好吧,几年后,应用程序变得很糟糕 - 数据问题和用户工作流程很糟糕,因为在两个不同的地方管理相同的数据是一场噩梦。

我建议将您的数据库移至 MySQL(Delphi 和 Web Client 均适用)之类的数据库,并在两个界面之间使用同一个数据库。 Delphi 客户端在 VPN 上运行不佳的原因是,像 NexusDB 和 DBISAM 这样的桌面数据库在运行查询时会通过管道复制大量数据(拉回所有数据,然后过滤/排序等)——这并不真正像 SQL Server 或 MySQL 这样的客户端/服务器,所有繁重的工作都在服务器上完成,只返回结果。当然,将 Delphi 应用程序移至 MySQL 等数据库可以同时解决速度问题 - 但这样并不能解决 #2 和 #3。

另一种选择是将整个应用程序移至网络,并且仅支持 1 个应用程序。当然,使用像 Delphi 这样的工具的优秀 UI 开发人员总是可以为 Web 应用程序创建卓越的用户界面 - 特别是在数据输入繁重的应用程序中 - 因此这可能不是您的选择。

我会对“同步数据”感到非常厌倦。

我的值(value) 2 美分。迈克

关于delphi - Delphi 的数据库同步解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792504/

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