尝试从 C# ASP.NET Core 6 Web API 将数据队列连接到运行 OS/400 的 AS/400 时,我感到非常困惑。我不确定我可以使用什么包。
Net.IBM.Data.Db2
没有明确表示它支持OS/400。有一些我可以使用的 nuget 软件包吗?
IBM 为 .net 提供了两种不同的提供商来与 i 系列 Db2 数据库(即 as400 数据库)配合使用
选择适合您需求的。
提供者是:
(1) Net.IBM.Data.Db2,它可以作为 nuget 提供(除了安装合适的 IBM Data Server 驱动程序之外),并且它需要 Db2-connect-personal-edition(单独购买) )要应用(特定子目录中的文件),否则尝试连接 i-series(或 z/os)将引发异常。连接到 Db2-LUW 不需要许可证。 这实际上是 IBM
clidriver
周围的一个薄层,它是一个小型 odbc 驱动程序,适用于所有 Db2 服务器风格,并且适用于多种编程语言(不仅是 .net,还包括 PHP、Perl、C/C++) 、R、Go 等...)
(2) IBM.Data.DB2.iseries - 当前不可作为 nuget 使用。从 IBM 下载并成功安装两个单独的组件后,它就可用了(见下文)。
如何选择使用哪个提供商?
当您的代码需要针对任何或所有 Db2 服务器风格(i 系列、z/os、Db2-on-cloud 或本地 Db-2LUW)或针对适当配置运行时,请使用 (1) Informix 环境。该驱动程序是适当通用的,但没有与 i 系列功能的其他(非 DB2)方面紧密集成。
当您的代码仅需要与 i 系列 Db2 一起使用,而不是与 z/os 数据库或 Linux/Unix/Windows 数据库或 z/Linux 数据库或 Informix 数据库一起使用时,请使用 (2)。该驱动程序最适合 i 系列的紧密集成以及与通过 IBM i 访问解决方案提供的所有服务的互操作性。对于那些已经熟悉 i 系列和 i 系列访问客户端解决方案功能的人来说,该提供商是首选。
通过 nuget 或通过下载/安装适合您的操作系统/环境/芯片组的 IBM 数据服务器驱动程序获取 (1)。 Net.IBM.Data.Db2 命名空间内容的文档来自主要的 Db2 知识中心在线网站,它并非特定于 i 系列,而是非常偏向于 Db2-Linux/Unix/Windows 服务器平台,尽管 ADO.NET接口是不变的,与 i 系列特定连接关键字、语句关键字和 i 系列特定查询语法(如果使用任何)相关的差异。对于任何 Db2 服务器端查询文档,请使用 i 系列知识中心而不是 Db2-LUW 知识中心页面。
通过下载并安装两个组件获取 (2)(需要 IBM 注册 + IBM 登录,并首先接受 IBM 许可条款),通过 https://www.ibm.com/support/pages/ibm-i-access -client-solutions(单击“下载...”)链接。输入 IBM 登录凭据并确认许可协议后,您将看到几个软件包。您需要先下载并安装“IBM i Access Client Solutions”,然后下载并安装第二个组件“ACS Windows App Pkg English (64-bit)”(当您的目标工作站运行 Microsoft Windows,尽管 Linux x64 和 Macos应用程序包也可用)。 Windows 应用程序包有一个 installshield 安装程序,可让您使用自定义安装来选择您需要的功能。某些功能需要许可证,因此请仔细阅读文档。安装此 Windows 应用程序包后,桌面上将出现一个图标,您可以在其中找到文档的链接(以 CHM 文件格式本地安装),包括程序员工具包,其中包括命名空间、程序集以及使用它的配置文件详细信息,以及命名空间内容的详细信息。