我创建了一个在全国多台客户端计算机上运行的 Delphi 应用程序。它使用的数据库是严重依赖存储过程的 SQL Server。
问题是数据库需要位于中间没有应用程序服务器的中央服务器上 - 所以像 Web 服务这样的选项是不可能的。此外,应用程序必须直接访问数据库服务器——所有客户端都必须连接到这个单一的数据库。
如何才能做到这一点?
我创建了一个在全国多台客户端计算机上运行的 Delphi 应用程序。它使用的数据库是严重依赖存储过程的 SQL Server。
问题是数据库需要位于中间没有应用程序服务器的中央服务器上 - 所以像 Web 服务这样的选项是不可能的。此外,应用程序必须直接访问数据库服务器——所有客户端都必须连接到这个单一的数据库。
如何才能做到这一点?
使用 VPN。它将保护您的应用程序和数据库之间的通信通道,而数据库不在 Internet 上。VPN 激活后,您可以连接到本地数据库。将数据库服务器直接暴露在 Internet 上可能非常危险,简单的扫描可能会识别它,并且可以尝试漏洞利用。可能有一种方法可以使用特定的安全软件和设备来实现类似的目标,但它的成本可能远高于使用 VPN。Windows server 自带VPN 软件(在路由服务中),也有一些免费的解决方案(即OpenVPN)。大多数防火墙/路由器都具有 VPN 端点功能 - 只需配置,通常它们支持 RADIUS 身份验证,如果不直接支持 Active Directory。
每个客户端都必须使用 TADOConnection 组件来建立与 ADO 连接字符串中指定的服务器的连接。