我想创建一个程序,可以通过互联网访问我在两台不同计算机上的 firebird 数据库。我想知道要使用什么连接以及要设置什么参数。
谢谢
有一些可用的库 - 请参阅此处以获取相当全面的列表。
对于支持更多数据库后端的库,您必须选择 Firebird 驱动程序(通常称为 Interbase/Firebird 驱动程序或 IB/FB 驱动程序)。
对于协议,选择 TCP/IP - 对于您必须拥有的连接字符串your server public IP address
:your full database file path as seen by FB server
。
确切的格式取决于库,但是,例如,如果您的服务器是,example.com
那么连接字符串将是example.com:c:\myDatabases\myDatabaseFile.FDB
但是,由于 Firebird 数据库直接暴露在 Internet 上会出现安全(可能还有速度)问题,因此不建议使用此设置。
更可取的是拥有一个3 层(n 层)应用程序,其中中间层将负责成为服务器和客户端之间的安全“防火墙”。
您可以直接在 firebird 引擎中实现 TCP/IP 数据包加密/解密。个人而言,我已经下载了 Firebird 2.5 源代码,并直接在他的低级通信层(INET 套接字层)中注入了安全隧道化代码。现在,firebird 引擎直接在服务器端和客户端(fbclient.dll)对每个 TCP/IP 数据包进行加密/解密。然后无需重新构建客户端应用程序,只需添加一行代码,即可提供您选择的用于加密通信到 fbclient.dll 的密钥。必须在服务器安装的 firebird.conf 文件中声明相同的密钥。我还在 fbclient 中实现了代理协商解决方案。dll 以允许 TCP/IP 数据包通过任何代理服务器(例如 Microsoft ISA Server)。对我们来说,这种架构在实际生产系统中可以运行一年多。