我有一个.Net Core WebAPI,我安装了IBM.Data.DB2.Core包。 当我尝试使用连接字符串调用DB2Connection构造函数时,我收到以下错误。
无法加载DLL“db2app64.dll”:找不到指定的模块。
这是应该包含在DB2.Core包中的东西吗?有没有更好的方法从.Net Core调用AS400数据库?
我的代码如下所示:
DB2Connection conn = new DB2Connection("Server=as400.example.com;Database=CLIENTS01;UID=user1;PWD=password1;");
答案 0 :(得分:5)
如果您使用的是.NET Core软件包,则必须在PATH变量中包含驱动程序的路径(包含在NuGet软件包中)。
这是FAQ on the NuGet package on Developer Works的相关部分:
问:我是否需要进行任何其他配置才能使用此功能 配置。
Yes, On Windows : if C:\Users\<USERNAME>\ is the NuGet package folder then add to the path: C:\Users\<USERNAME>\.nuget\packages\IBM.Data.DB2.Core\1.0.0.100\build\clidriver\bin and On Linux: append $HOME/.nuget/packages/IBM.Data.DB2.Core-lnx/1.0.0.100/build/clidriver/lib to the LD_LIBRARY_PATH.
我发现设置它的最简单方法是在项目设置中设置PATH变量。查看this blog post,了解一些不同的方法。
事实上,this other Developer Works page说:
下载和使用包的说明
以下是使用包
的先决条件
计算机中不应出现任何其他IBM数据库驱动程序。
需要更新Path / LD_LIBRARY_PATH以包含程序包驱动程序路径。
答案 1 :(得分:0)