我制作了一个程序来访问网络环境中的firebird数据库。
我通常通过网络在网络的两个不同点访问数据库。
但是,如果我同时打开这两个程序,则会在尝试连接到DB的第二个程序上抛出此异常:
“您的用户名和密码未定义”
如何同时使用两个连接访问firebird DB?
答案 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复古...”
告诉我这是否适合你。