2

我使用 IBM.Data.DB2 提供程序在 .net c# 中制作了一个小型桌面应用程序,连接到 z/OS 上的 IMB DB2。当我在一台机器上部署这个应用程序时,我遇到了 IBM DB Connect 运行时的问题,然后我发现我必须安装 DB2 Run-Time Client Lite,我就这样做了。现在,当我运行应用程序时,出现错误“错误 [42968][IBM] SQL8002N 连接处理失败;找不到有效的产品许可证。SQLSTATE=42968”

注意:我可以使用 HIS 库连接相同的数据库。

问候 Verybiztalker

4

1 回答 1

4

您将无法使用任何lite版本访问 z/OS DB2 远程入口点。使用 IBM JDBC 驱动程序,您需要企业版来连接到 z/OS,这几乎可以肯定与使用 C# 相同 - 这是为了保护大型机免受各种客户端的影响,这些客户端没有'企业之神'。

如果您没有有效的许可证,客户端甚至不会尝试连接到大型机。您收到的错误代码和状态与我描述的情况完全匹配。

IBM 非常密切地保护(或者更准确地说,允许他们的客户保护)他们的大型机 DB2 访问。我怀疑这与确保只有企业支持的应用程序才能尝试连接有关。没有正确许可文件的 JDBC 客户端甚至不会让他们的请求出现在大型机 TCP 端口上,它们在客户端被阻止 - 大型机通常对大多数桌面/服务器应用程序来说是关键业务梦想成为:-)。

使用 IBM JDBC 驱动程序,一个单一的 type-4 驱动程序用于访问所有DB2 平台(LUW、iSeries、System z 等),但您实际上必须在特定平台的 CLASSPATH 中安装许可证文件,否则您将得到一个例外。

该许可证文件的格式为“db2jcc_cisuz.jar”,其中 cisuz 指定允许访问哪些平台(cu 是最常见的,但它不提供对 iSeries 或 System z 的访问权限)。

您通常必须从 IBM 购买 DB2 Connect 才能获得这些文件,我怀疑 .NET 框架也会出现类似情况。您可能会发现 DB2 Connect 产品具有 .NET 客户端驱动程序以及 JDBC(我没有查看)。寻找该产品的“企业”版,因为标准版不太可能拥有 System z 许可证。

于 2008-12-31T11:36:18.847 回答