我有一个DelphiXE2客户端在Firebird 2.5 32位会话上运行。
我的开发环境是Windows 7 64bit,我使用的是InterBase客户端组件。
一切工作正常,只要我编译项目32位。
项目编译成64位-非常高兴:-)-但然后我得到一个"连接被远程接口拒绝"错误登录-不高兴:-(
我已经确保删除所有gds32.dll,我已经安装了Firebird 2.5客户端32位fbclient.dll。将fbclient.dll拷贝到SysWOW64目录下。
是什么原因导致拒收?
系统的一个要求是:
可执行文件加载的所有库必须具有相同的位元,这意味着你必须在64位进程中加载64位的dll,在32位进程中加载32位的dll。
查看64位Windows限制列表中的No Mixed 64位/32位进程条目
这也适用于Firebird客户端。为了从64位进程成功连接到火鸟数据库,必须安装64位的火鸟客户端。
一台机器可能同时安装了32位和64位客户端,因为它们位于不同的文件夹中,所以dll可以并且通常具有相同的名称。
这不会影响连接到32位或64位服务器的能力。换句话说,这不是关于火鸟服务器,而是关于火鸟客户端。