通过dBExpress连接到本地服务器

时间:2017-06-03 15:38:05

标签: delphi delphi-7 interbase

我的D7 dBExpress项目应该连接到本地Interbase XE7服务器。 它具有通常的DBX设置:SqlConnection,SqlQuery,DataSetProvider和 ClientDataSet并执行一个简单的'select * from mytable'。

上次我使用它时,它工作正常,但是今天当我在IDE中运行它时, 我打电话给

时遇到异常
ClientDataSet1.Open;

在我的FormCreate中(该调用是项目的完整代码,顺便说一句)。该 异常是EDatabaseError,msg“找不到错误代码的映射”。并发生在TSqlConnection.DoConnect

1 个答案:

答案 0 :(得分:2)

这听起来很熟悉 - 我有一次得到了这个错误,几周之后我又回到了IB项目。

事实证明,在此期间,有些东西将Firebird偷偷带到我的机器上并且它已经劫持了IB通常监听的端口,实际上这个FB服务器拒绝了连接,而不是Interbase的服务器!

在“服务”下查看是否有FB服务器正在运行。如果有,请将其关闭(当然,如果尚未运行,则启动IB服务器)。然后再次尝试DBX项目。

在IB文档的某个地方,我发现了一些似乎表明有一种方法可以让FB和IB服务器共存,但为了避免再次陷入类似的陷阱,我写了几个批处理文件来关闭其中一个并开始另一个。一个叫做“UseIB”,包含:

net stop "Firebird server - DefaultInstance"
net start "InterBase XE7 Server gds_db"

另一个,“UseFB”恰恰相反。