问题: 我有一个c#应用程序,需要对大型机上的DB2 z / os进行读写访问。
我已经搜索了几个星期并得出结论:要么使用IBM驱动程序(需要许可证文件,DB2连接或某种许可软件),要么使用db DB提供程序获取db2 (主机集成服务器)由Microsoft。
Microsoft选项是免费的,只需要安装驱动程序,无需许可证文件。 IBM选项需要DB2连接软件和许可证(即使您使用ibm nuget包,它也要求您拥有许可证文件)
问题: 1)我可以免费这样做意味着没有购买许可吗?除了微软的选择? 2)是否可以将项目部署到机器而无需安装任何驱动程序? (有点像ibm的自包含nuget包),但是你知道,不需要许可证文件吗?
提前致谢!附: DB2服务器是远程的,而不是本地的
答案 0 :(得分:1)
IBM提供的Db2驱动程序始终需要正确的Db2 Connect许可才能访问zb / OS的Db2。 这些并不总是昂贵的,这完全取决于环境和要求。
微软的驱动程序似乎是免费的,但是,在使用它们时,请考虑:
从IBM请求支持时可能遇到的挑战 - 他们不同意调试驱动程序与数据库交互问题,除非您支付费用,否则Microsoft不会帮助您;
可能的兼容性问题,包括缺乏对最新功能的支持以及与较新的Db2修复程序的有限兼容性(即使在单个主要Db2版本中)。
如果这两件事对您在特定情况下并不重要,您可以避免使用Microsoft的驱动程序支付Db2 Connect的费用: - )
答案 1 :(得分:1)
正如cschneid建议的那样,可以通过REST服务将c#应用程序(或任何.NET应用程序)连接到大型机上的z / OS的DB2(版本11及更高版本)。您最终会通过JSON对象请求并获得响应。您只需要确保将DB2配置为处理REST调用(特别是如果您使用的是HTTPS)
答案 2 :(得分:0)
想了解DB2 DBA是否提供了RESP API URL?我也遇到同样的情况,IBM.DB2.DATA pkg在连接时抛出错误,指出需要一个“许可文件”;在我们的企业中,有一个许可证文件,但是它是JAR文件的形式,我不太确定现在还有什么选择。有指针吗?
OLEDB选项在没有许可证文件的情况下可以工作吗?因为当我尝试使用ODBC驱动程序时,它失败并出现与IBM.DB2.DATA驱动程序相同的错误,指出“许可文件”的需要。