【发布时间】:2015-04-17 18:54:09
【问题描述】:
我的要求很简单:我有一个 Rails Web 应用程序,它需要从运行在 iSeries AS400 上的 DB2 读取一些数据。
在 ibm_db gem 维护人员的令人难以置信的帮助下,我相信我已经能够解决连接到 DB2 实例的技术障碍。
如果有其他人寻求指导,背景故事就在这里:
https://github.com/ibmdb/ruby-ibmdb/issues/25
简单地说:
- 下载为 Linux/OSX 提供的 DB2 CLI/ODBC 包
- 设置一些环境变量和一些连接配置
- 尝试连接。
- 将 sequel gem 与 ibm_db gem 结合使用。
- 它应该可以工作!!
可悲的是,我现在被这个错误阻止了#3:
[FAILED]: [IBM][CLI Driver] SQL1598N An attempt to connect to the database server failed because of a licensing problem. SQLSTATE=42968
我已经与 IBM 的 3 位不同的人联系以试图解决这个问题,并且我经常收到一篇关于 DB2 Connect 许可证的文章,其成本超过 10,000 美元。 iSeriesAccess(以前称为 ClientAccess)可用于 Windows/Linux,但它是一个沉重的包,没有 OSX 对应物。
我确实找到了这个问题 (License ERROR with DB2 driver on linux),但我相信这是假设 Linux 上的 DB2,而不是 OS400。
SO 社区中是否有人在这类事情上遇到过运气或经验?
【问题讨论】:
-
嗯,您是否尝试过驱动程序的 JDBC (java) 变体。我想你可以将它与 jruby 一起使用。我还没有看到这种连接类型的许可证限制。并且您可以使用JTopen400 可免费分发的驱动程序版本。
-
@eckes,没有。由于在我的解决方案中使用了其他 gem,JRuby 真的不是我的选择。我可以使用 iSeries Access 库 Linux 包,但遗憾的是在开发过程中没有可以利用的 Mac OSX 变体。
-
这可能无济于事,但有一个新的客户端解决方案“IBM iAccess 客户端解决方案”可以在 Windows 和 Linux 上运行。它是基于 java 的,包括一个单独的 OS 特定包和 ODBC 驱动程序等。 www-03.ibm.com/systems/power/software/i/access/solutions.html
-
你看过RubyJavaBridge吗?不是我所在的地区,但也许它可以让您使用 JTopen?
-
@Charles,是的,目前 iSeries Access 是我的后备方案。遗憾的是没有包含 ODBC 驱动程序的 OSX 版本。