无法加载共享库 'db2app64.dll'

3

目前正在使用IBM DB .NET Core Provider,与IBM DB2、Openshift和Linux一起工作。

运行应用程序时出现以下错误:

System.DllNotFoundException: 无法加载共享库“db2app64.dll”或其依赖项之一。

为了帮助诊断加载问题,请考虑设置LD_DEBUG环境变量:

libdb2app64.dll: 无法打开共享对象文件:没有那个文件或目录 在IBM.Data.DB2.Core.UnsafeNativeMethods.DB232.SQLFreeConnAttribsADONET(DB2SQLGetConnAttribsADONETParams& pParam)


你安装了哪个 Db2 客户端 (IBM 数据服务器客户端)? - mao
1
这是 IBM.EntityFrameworkCore nuget 包,即 https://www.nuget.org/packages/IBM.EntityFrameworkCore/1.3.0.100。 - e p
你是否修改了你的PATH环境变量,将 %userprofile%.nuget\packages\IBM.Data.DB2.Core<version>\build\clidriver\bin 包含进去?(修改完后需要停止并重新启动VS才能生效) - mao
@mao,这不是在运行Windows或Visual Studio。它是在Linux容器中运行的。 - Andrew
在Linux上本地运行的代码不会使用DLL文件。 - mao
1个回答

7
解决方法是针对Linux版本使用IBM.EntityFrameworkCore-lnx引用,因为.NET试图加载Windows库db2app64.dll,所以才会出现错误“无法加载共享库'db2app64.dll'”。enter image description here

对于 macOS 用户...不要绝望,也有一个 OSX 版本。 - Darek

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接