没有登录
中国开发网: 论坛: Delphi/BCB: 贴子 39317
pcplayer: FireBird 的官方说明的BUG,客户端库文件和InterBase的gds32.dll不能混用否则要出错。
FireBird的官方说明的BUG:
==================================================
Superserve版本安裝說明
下載最新本的Firebird,用Zip解開壓縮檔案.解至系統檔案區
拷貝檔案fbclient.dll and gds32.dll到<root\system32>
========================================================

其实,在SourceForge里下载的FireBird的V1.5的ZIP包里并没有一个叫做“gds32.dll”的文件。
按照FireBird的说法,这个gds32.dll仅仅是一个“桥”,把原来需要调用 gds32.dll 的InterBase客户端的请求简单地转到FbClient.dll去。
但是,根本就找不到这么一个 gds32.dll

实际上,应该是把 fbClient.dll直接改名为 gds32.dll,就能让以前使用 gds32.dll 的客户端访问到 FireBird v1.5

在 DBExpress 里,SQLConnection 的VendorLib属性里默认是 gds32.dll,一个办法是把 fbClient.dll改名为 gds32.dll 放到系统目录下;另一个办法是直接修改这个属性值为 FbClient.dll。

我的系统安装了 InterBase 6.5的客户端,因此有一个 InterBase 带来的 gds32.dll。结果我无意中在 SQLConnection 里使用了这个IB的 gds32.dll,能够打开数据库,但打开后的字段的长度都出了问题(返回的 MetaData 可能有问题)。并且连接的 ClientDataSet能打开,但输入数据后做 ApplyUpdates的时候出错,提示是字段长度不对之类。最后发现这个问题,改为调用 FB 自己带的fbClient.DLL,这个错误就消失了。所以,客户端一定要注意 fbClient.dll 或者 gds32.dll 的版本问题。不能拿IB的gds32.dll来访问FB。

相关信息:


欢迎光临本社区,您还没有登录,不能发贴子。请在 这里登录