尝试在 Windows Server 2003 上使用 Firebird Server 2.1 时出现运行时错误 R6034(无法加载 gds32.dll)

发布于 2024-07-29 13:38:40 字数 710 浏览 6 评论 0原文

当我尝试在 Windows 2003 Server 中执行应用程序时,出现运行时错误 R6034。

Microsoft Visual C++ 运行时库

运行时错误!

R6034

应用程序已尝试 加载C运行时库 错误地。 请联系 应用程序的支持团队了解更多信息 信息。

该服务器安装了Firebird 2.0,并且可以工作,我卸载了它并安装了Firebird 2.1,但Firebird 2.1根本无法工作。

当我使用instclient查看安装了哪个dll时,它返回正确的结果,这是我正在使用的Firebird版本17910:

>instclient.exe query gds32
Installed GDS32.DLL version : 6.3.1.17910 (shared DLL count 1)

我还查找了其他可能在系统中丢失的dll,但没有,系统是干净的,但是我无法让 Firebird 工作。

如果您想知道为什么我需要 gds32,那是因为我使用 TIBBackupService 组件,并且它默认使用 gds32(或者最糟糕的是硬编码),因此无法将其更改为 fbclient.dll。

欢迎任何解决此问题的想法,谢谢。

I'm getting this runtime error R6034 when I try to execute an application in a Windows 2003 Server.

Microsoft Visual C++ Runtime Library

Runtime Error!

R6034

An application has made an attempt to
load the C runtime library
incorrectly. Please contact the
application's support team for more
information.

This server had Firebird 2.0 installed, and it works, I uninstalled it and installed Firebird 2.1, but Firebird 2.1 doesn't work at all.

When I use instclient to see which dll is installed it returns the correct result, which is the Firebird version I'm using 17910:

>instclient.exe query gds32
Installed GDS32.DLL version : 6.3.1.17910 (shared DLL count 1)

I also looked for other dll which could be lost in the system but there's none, the system is clean, but I can't get Firebird to work.

If you are wondering why do I need the gds32, it's because I use the TIBBackupService component and it uses gds32 by default (or worst, hardcoded) so it can't be changed to fbclient.dll.

Any ideas to solve this are welcome, thanks.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

和我恋爱吧 2024-08-05 13:38:40

您很可能选择在 system32 目录中创建旧版 gds32.dll,但未安装必要版本的 MSVC 运行时库。 使用 32 位或 64 位版本(取决于 Firebird 服务器版本)的 Microsoft Dependency Walker检查没有找到哪个 DLL。 无论如何,安装 MS 可再发行软件包应该会有所帮助。

Most probably you have opted to create the legacy gds32.dll in the system32 directory, but the necessary version of the MSVC runtime library isn't installed. Use the Microsoft Dependency Walker in either the 32 bit or 64 bit version (depending on the Firebird server version) to check which DLL isn't found. In any case, installing the MS redistributable package should help.

夜还是长夜 2024-08-05 13:38:40

该错误可能是因为您从路径而不是从 SxS 目录加载 C 运行时 DLL。 您需要向 exe 添加清单,以通知操作系统加载程序有关依赖项的信息。 看看 这个答案 虽然没有直接相关,但指出了如何修复 R6034。 请注意,该错误涉及 C++ 运行时库,而不是 GDS32.dll。 虽然另一个问题没有直接提到R6034,但我回答了那个问题,有一个R6034,这是根本原因。

The error is probably because you're loading a C runtime DLL from the path rather than from a SxS directory. You'll need to add a manifest to your exe which informs the OS loader about the dependency. Look at this answer which, though not directly related, points to how you can fix R6034. Note that the error refers to the C++ runtime library, not GDS32.dll. Although the other question does not mention R6034 directly, I answered that question and there was a R6034 which was the root cause.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文