为 Firebird 4 客户端部署什么?
What to deploy for Firebird 4 clients?
使用 Firebird 2,我们必须使用我们的应用程序部署 3 个文件才能连接到远程 firebird 服务器:
- fbclient.dll
- msvcr80.dll
- 微软。VC80.CRT.manifest
第一个文件是从“普通”Firebird 安装程序中检索到的,另外 2 个文件是从“嵌入式”安装程序中检索到的。
Firebird 4 不提供嵌入式安装程序,而且我找不到为客户端部署什么的正确信息。
阅读此文:https://ib-aid.com/download/docs/fb4migrationguide.html#_installing_client 看来 Firebird 3 的要求较低。是这样吗?我只需要通信加密和更长的密码,所以 FB3 也可以。 (顺便说一句,按照指南并没有带来成功,否则我不会问)。
所需的最少文件列在 document you link:
If we speak about installing Firebird client only, you need to have
fbclient.dll
file. Firebird 4.0 client requires Microsoft Runtime C++
2017 with the same bitness as fbclient.dll. If Microsoft Runtime is
not installed, you may just copy it’s two files, msvcp140.dll
and
vcruntime140.dll
that are included in ZIP for Windows.
因此您需要的绝对最低限度是 fbclient.dll
,在某些情况下您可能还需要 msvcp140.dll
和 vcruntime140.dll
,因为您的系统上尚未安装它们。
此外,建议为错误消息包含 firebird.msg
,对于某些用例,建议添加 ICU 文件(如果您使用 fbclient 的功能 render/parse WITH TIME ZONE
类型)。
如果你想要有线压缩,你还需要 zlib1.dll
,如果你想使用 Chacha 有线加密而不是安全性较低的 ARC4,那么你还需要 plugins/chacha.dll
(chacha.dll
需要在相对于 fbclient.dll
) 的 plugins
文件夹中。
所有这些库的位数必须与您的应用程序相同。正如评论中所讨论的,问题似乎是您尝试了 64 位 Firebird 安装中的 64 位 DLL,而您的应用程序是 32 位的。
如果您的应用程序是 32 位的,则从 32 位安装或压缩包中获取文件,或者查看 64- 的 WOW64(*) 文件夹位安装(从安装程序,64 位压缩包不包含此目录)。此 WOW64 文件夹包含 32 位文件 fbclient.dll
、msvcp140.dll
和 vcruntime140.dll
(对于其他 DLL,您需要使用 32 位安装程序或压缩包)。
* 这遵循尴尬的 Windows 64 位命名 Windows 在 [=26= 中有 64 位文件],以及 %WINDIR%\SysWOW64
中的 32 位文件
使用 Firebird 2,我们必须使用我们的应用程序部署 3 个文件才能连接到远程 firebird 服务器:
- fbclient.dll
- msvcr80.dll
- 微软。VC80.CRT.manifest
第一个文件是从“普通”Firebird 安装程序中检索到的,另外 2 个文件是从“嵌入式”安装程序中检索到的。
Firebird 4 不提供嵌入式安装程序,而且我找不到为客户端部署什么的正确信息。
阅读此文:https://ib-aid.com/download/docs/fb4migrationguide.html#_installing_client 看来 Firebird 3 的要求较低。是这样吗?我只需要通信加密和更长的密码,所以 FB3 也可以。 (顺便说一句,按照指南并没有带来成功,否则我不会问)。
所需的最少文件列在 document you link:
If we speak about installing Firebird client only, you need to have
fbclient.dll
file. Firebird 4.0 client requires Microsoft Runtime C++ 2017 with the same bitness as fbclient.dll. If Microsoft Runtime is not installed, you may just copy it’s two files,msvcp140.dll
andvcruntime140.dll
that are included in ZIP for Windows.
因此您需要的绝对最低限度是 fbclient.dll
,在某些情况下您可能还需要 msvcp140.dll
和 vcruntime140.dll
,因为您的系统上尚未安装它们。
此外,建议为错误消息包含 firebird.msg
,对于某些用例,建议添加 ICU 文件(如果您使用 fbclient 的功能 render/parse WITH TIME ZONE
类型)。
如果你想要有线压缩,你还需要 zlib1.dll
,如果你想使用 Chacha 有线加密而不是安全性较低的 ARC4,那么你还需要 plugins/chacha.dll
(chacha.dll
需要在相对于 fbclient.dll
) 的 plugins
文件夹中。
所有这些库的位数必须与您的应用程序相同。正如评论中所讨论的,问题似乎是您尝试了 64 位 Firebird 安装中的 64 位 DLL,而您的应用程序是 32 位的。
如果您的应用程序是 32 位的,则从 32 位安装或压缩包中获取文件,或者查看 64- 的 WOW64(*) 文件夹位安装(从安装程序,64 位压缩包不包含此目录)。此 WOW64 文件夹包含 32 位文件 fbclient.dll
、msvcp140.dll
和 vcruntime140.dll
(对于其他 DLL,您需要使用 32 位安装程序或压缩包)。
* 这遵循尴尬的 Windows 64 位命名 Windows 在 [=26= 中有 64 位文件],以及 %WINDIR%\SysWOW64