【发布时间】:2015-09-11 16:38:57
【问题描述】:
我在两台机器 A 和 B 上安装了 XE8 和随附的 InterbaseXE7 版本。使用 IBX 或 DBX,我可以连接到同一台机器上运行的 IB 服务器并毫无问题地访问其数据库。顺便说一句,我不是普通的 IB 用户。
我没有运气从机器 A 上的 Delphi 应用程序连接到机器 B 上的 IB 数据库:我遇到了各种各样的错误,包括一个关于无法找到指定文件的神秘错误(尽管从一个 CMD 提示,以验证我的名称是否正确),直到我发现在这种情况下(连接到远程服务器),数据库名称必须在 A 上的 Delphi 应用程序中大写,就像它在数据库主机 B 上一样。
因此,假设无法配置 IB 和/或 IBX 来避免这种区分大小写,我如何以编程方式检索 B 上正确大写的数据库名称列表(假设我无权访问 B 的文件-system) 来自 A 上的 Delphi 应用程序?
我尝试使用 TIBServerProperties 组件来执行此操作,但使用如下代码:
procedure TForm1.btnPropertiesClick(Sender: TObject);
var
S : String;
begin
IBServerProperties1.Active := True;
IBServerProperties1.FetchDatabaseInfo;
S := IBServerProperties1.DatabaseInfo.DbName[0];
Caption := S;
end;
,从IB主机服务器返回的数据库名称全部大写,显然没有解决找到正确大写的问题。
【问题讨论】:
标签: delphi delphi-xe8 interbase