从.Net Core调用AS400 DB

Ste*_*ing 2 db2 .net-core

我有一个.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;");
Run Code Online (Sandbox Code Playgroud)

bha*_*mby 5

如果您使用的是.NET Core程序包,则必须在PATH变量中包含驱动程序的路径(包含在NuGet程序包中).

以下是Developer Works上NuGet包FAQ的相关部分:

问:我是否需要进行任何其他配置才能使用此配置.

 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.
Run Code Online (Sandbox Code Playgroud)

我发现设置它的最简单方法是在项目设置中设置PATH变量.查看此博客文章,了解一些不同的方法.

实际上,这个其他Developer Works页面说:

下载和使用包的说明

以下是使用该包的先决条件

  • 机器中不应出现任何其他IBM DB驱动程序.

  • 需要更新Path/LD_LIBRARY_PATH以包含程序包驱动程序路径.