如何通过具有两台或更多计算机的网络访问interbase / firebird数据库

时间:2011-07-03 04:43:21

标签: database delphi firebird interbase

我制作了一个程序来访问网络环境中的firebird数据库。

我通常通过网络在网络的两个不同点访问数据库。

但是,如果我同时打开这两个程序,则会在尝试连接到DB的第二个程序上抛出此异常:

“您的用户名和密码未定义”

如何同时使用两个连接访问firebird DB?

4 个答案:

答案 0 :(得分:2)

这可能是因为使用了firebird的嵌入式版本,它只允许1个连接。查看您安装的文件名。

如果是问题,请将其卸载并安装clasic或superserver版本

答案 1 :(得分:0)

确保Firebird数据库托管在运行Firebird服务器的计算机上。

即在具有数据库的计算机上安装Firebird Server。

然后,从安装了应用程序的客户端PC,确保通过连接到Firebird服务器来访问数据库。这意味着您的Delphi应用程序用于连接数据库的任何组件都需要将“server”属性设置为数据库服务器计算机的主机名。

完成此操作后,您的应用程序将向Firebird数据库服务器发出请求,该服务器知道如何处理连接并处理SQL请求并返回结果。

答案 2 :(得分:0)

大多数数据库连接组件应该允许您在数据库路径之前添加ip地址或主机名,例如

MyConnection.Database := '127.0.0.1:C:\Databases\testdb.fdb';

显然,请确保您的程序指向相同的IP地址或主机名,并确保他们使用的登录凭据在该firebird服务器上定义。

默认情况下,所有firebird服务器安装(嵌入式除外)都可以处理多个连接(即使使用相同的用户),您也不必担心这一点。只需确保客户端程序正在使用适用于他们尝试连接的服务器的输入(即db网络路径和firebird服务器登录凭据)。您可以使用SYSDBA,直到您控制连接,然后开始考虑为您的客户端应用程序创建一个唯一的登录名。

答案 3 :(得分:0)

TIBDatabase组件中,您必须使用以下内容填充Params属性

user_name=sysdba 
password=masterkey

LAN中每台计算机中的Firebird安装都必须设置为此默认参数。有问题的计算机必须具有不同的访问凭证。

您必须卸载Firebird并使用服务和超级服务器选项重新安装最新版本,并标记“使用gdi32.dll复古...”

告诉我这是否适合你。