C# - 在没有许可证的情况下连接到 DB2 z/os 大型机

C# - connecting to DB2 z/os mainframe without a license

问题: 我有一个 c# 应用程序需要对大型机上的 DB2 z/os 进行读写访问。

我搜索了数周并得出结论:要么使用 IBM 驱动程序(需要许可证文件,或 DB2 连接,或某种许可软件),要么使用 ole DB provider for db2 (主机集成服务器)由 Microsoft 提供。

微软选项是免费的,只需要安装驱动程序,不需要许可证文件。 IBM 选项需要一个 DB2 连接软件和许可证(即使您使用 ibm nuget 包,它也需要您有许可证文件)

问题: 1)我可以免费做这意味着不购买许可证吗?除了微软选项? 2)是否可以将项目部署到机器上而无需安装任何驱动程序? (有点像 ibm 的自包含 nuget 包)但你知道,不需要许可证文件吗?

提前致谢! P.S。 DB2 服务器是远程的,而不是本地的

IBM 提供的 Db2 驱动程序始终需要适当的 Db2 Connect 许可证才能访问 z/OS 的 Db2。 这些并不总是昂贵的,这完全取决于环境和要求。

Microsoft 的驱动程序似乎是免费的,但是,在使用它们时,请考虑:

  • 向 IBM 请求支持时的潜在挑战 - 他们不会同意调试驱动程序与数据库交互问题,除非您向他们付款,否则 Microsoft 不会帮助您;

  • 可能存在兼容性问题,包括缺乏对最新功能的支持以及与更新的 Db2 修复程序的有限兼容性(即使在单个主要 Db2 版本中)。

如果在您的特定情况下这两件事对您来说不是很重要,您可以使用 Microsoft 的驱动程序避免为 Db2 Connect 付费:-)

正如 cschneid 所建议的,可以通过 REST 服务将 c# 应用程序(或任何 .NET 应用程序)连接到 z/OS 大型机上的 DB2(版本 11 及更高版本)。您最终只是通过 JSON 对象请求并获得响应。您只需要确保 DB2 配置为处理 REST 调用(特别是如果您使用的是 HTTPS)