【问题标题】:Unable to load DLL 'db2app64.dll'无法加载 DLL 'db2app64.dll'
【发布时间】:2019-08-02 13:48:12
【问题描述】:

我正在编写一个 .NET Framework 应用程序并尝试连接到服务器上的 DB2 数据库。尝试时,我收到错误“System.DllNotFoundException:'无法加载 DLL'db2app64.dll':找不到指定的模块。(来自 HRESULT 的异常:0x8007007E)'”。显然,这是因为该文件不在目录中,但我很难找出该文件是什么以及如何获取它。这是我目前通过 NuGet 在项目上安装的内容:

任何事情都会有所帮助。谢谢。

【问题讨论】:

标签: c# .net entity-framework db2


【解决方案1】:

我在使用 NuGet 时遇到了同样的问题:IBM.Data.DB.Provider version="11.5.4000.4861" targetFramework="net452",其中包含一个“clidriver”目录,其中包含所有必要的 DLL,包括 64 位'db2app64.dll'、32 位 'db2app.dll' 和其他使 DB2 数据访问成为可能的东西。

感谢Dependency Walker,我发现我的 Windows 上缺少 MSVCR120.dll。

我下载了Visual C++ Redistributable Packages for Visual Studio 2013 x86 和 x64 位版本(我在 64 位 Win10 和 64 位 Windows Server 2016 Standard 上运行)并按此顺序安装它,首先是 x86,然后是 x64(但您可能需要例如适用于您 PC 的 ARM 版本)。

在我安装 C++ Redistributable 2013 后,它立即为我工作,无需重新启动。

请注意,“较新”的 NuGet,例如IBM.Data.DB2.Core.3.1.0.400 在随附的“clidriver”目录中具有必要的 MSVCR120.dll,因此无需安装 C++ Redistributable。

【讨论】:

    猜你喜欢
    • 2019-08-23
    • 1970-01-01
    • 2017-06-26
    • 2012-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-10
    相关资源
    最近更新 更多