带有 .NET Core 2.1 的 DB2

Yas*_*ass 5 db2 .net-core

我使用 Visual Studio 2017 和 .Net Core 2.1 安装了 IBM.Data.DB2.Core 版本 (1.2.2.100)。我试图测试简单的 DB2(z/OS 服务器)连接并收到以下错误。我们的DB2服务器类型是OS390,版本是11。

错误 [42968] [IBM] SQL1598N 由于许可问题,尝试连接到数据库服务器失败。

 using (DB2Connection con = new DB2Connection("Server=xxxx.xxxx.com:446;Database=XXXX;UID=XXXXXX;PWD=xxxxx"))
            {
                try
                {
                    con.Open();
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            } 
Run Code Online (Sandbox Code Playgroud)

我还将许可证文件复制到 .nuget\packages\ibm.data.db2.core\1.2.2.100\build\clidriver\license 文件夹。我尝试了这里提到的所有内容: https://www.ibm.com/developerworks/community/blogs/96960515-2ea1-4391-8170-b0515d08e4da/entry/Instructions_for_downloading_and_using_DB2_NET_Core_provider_package ?lang=en

有什么想法吗?

Yas*_*ass 3

适用于 .net core 版本 1.1 和 1.2 的 IBM DB2 Nuget 包附带 DB2 驱动程序版本 11。如果您的 DB2 版本低于 11,则这两个包不支持。以下是解决此问题的步骤。

  1. 安装 IBM DB2 Nuget 包版本 1.0
  2. 使用 1.0 安装路径更新环境 PATH 变量
  3. 删除/卸载计算机上安装的任何其他 DB2 驱动程序
  4. 关闭您的 Visual Studio 版本并重新打开它,它将正常工作。

另外,1.0版本不需要许可证文件。希望这可以帮助。