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