gpt4 book ai didi

带有 .NET Core 2.1 的 DB2

转载 作者:行者123 更新时间:2023-12-03 20:30:03 26 4
gpt4 key购买 nike

我使用 Visual Studio 2017 和 .Net Core 2.1 安装了 IBM.Data.DB2.Core 版本 (1.2.2.100)。我试图测试简单的 DB2(z/OS 服务器)连接并收到以下错误。我们的 DB2 Server 类型是 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;
}
}

此外,我将许可证文件复制到 .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

有什么想法吗?

最佳答案

在这上面花了几个小时,这是使用当前最新版本的包 1.3.0.100 和我已经安装的有效 DB2 11.1 许可证对我有用的方法。我怀疑这种方法也适用于 1.1 和 1.2,假设您已经拥有许可证。

将以下块添加到您的项目文件中,调整 DB2License 的路径根据您的本地设置的需要:

  <ItemGroup>
<DB2License Include="C:\ProgramData\IBM\DB2\{FOLDER NAME THAT VARIES BY INSTALL}\license\**\*.*"/>
</ItemGroup>
<Target Name="CopyFiles" AfterTargets="AfterBuild">
<Copy SourceFiles="@(DB2License)" DestinationFolder="$(OutDir)\clidriver\license\" />
</Target>

重要的部分似乎是 $(OutDir)\clidriver\license\在您的应用程序运行之前,拥有代表有效 DB2 11.1+ 许可证所需的所有文件。对我来说有 3 个文件。对于服务器构建和发布,可能需要稍微复杂的设置才能将正确的文件传送到预期位置。

以下是我尝试过的其他似乎对我没有帮助但可能对其他人有帮助的事情:
  • IBM 网站上的一些文章建议添加 %userprofile%\.nuget\packages\IBM.Data.DB2.Core\<version>\build\clidriver\bin%userprofile%\.nuget\packages\IBM.Data.DB2.Core\<version>\build\clidriver\license到您的 PATH 环境变量。这似乎完全没有必要。
  • 其他文章或论坛帖子建议将您的许可证文件复制到 nuget 包许可证文件夹 %userprofile%\.nuget\packages\IBM.Data.DB2.Core\<version>\build\clidriver\license .这有效,但并不理想,因为它需要在每台机器上完成 nuget 包恢复后 如果稍后更改 nuget 包的版本,则重新完成。当然,提到“嘿,只需将许可证复制到此路径”的地方都没有指定包含您现有许可证的默认目录:C:\ProgramData\IBM\DB2\{FOLDER NAME THAT VARIES BY INSTALL}\license\ .
  • 关于带有 .NET Core 2.1 的 DB2,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50725613/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com