【问题标题】:DB2 on IBM BluemixIBM Bluemix 上的 DB2
【发布时间】:2014-10-26 12:28:11
【问题描述】:

我刚刚开始使用 Bluemix,我创建了一个小型 Rails 4 应用程序并使用 sqlite 在本地对其进行了测试。由于 DB2 是 Bluemix 上的默认设置,因此我在设置应用程序时选择了它。

当我将 ibm_db gem 添加到准备部署到 Bluemix 的 gem 文件中时,我从 bundler 收到以下错误:

Environment variable IBM_DB_HOME is not set. Set it to your DB2/IBM_Data_Server_Driver installation directory and retry gem install.

我的开发机器上没有安装 DB2,因为我不会将它用于其他任何东西,我通常使用 Postgres,但 Bluemix 本身不支持它,它是我不想进入的第三方提供商.我不愿意安装 DB2 只是为了部署到 Bluemix,我希望有另一种方式?

谢谢。

【问题讨论】:

  • DB2(或在 Bluemix 中称为 SQLDB)不是 Bluemix 中的“默认”数据库,因为没有默认值。如果您想使用另一个 SQL 数据库,那么您也可以使用 ClearDB (mySQL) 或 ElephantSQL (postgres),或者查看其中一种非 SQL 数据库产品。
  • 好的,我知道 Bluemix 支持其他 DBMS,但 DB2 是默认设置,而不是我的问题。所有其他的都不是由 IBM 托管的(顺便说一下,我的兄弟在过去 15 年里一直在 IBM 工作),你还可以通过免费的 DB2 产品在空间等方面获得更多。至于我正在使用的 ibm_db 版本它来自 ruby​​gems.org 的 2.5.18。感谢您的回答,只是不确定为什么每个人都专注于 DB2 它是否是需要更好的放置方式的默认选项。

标签: ruby-on-rails db2 ibm-cloud


【解决方案1】:

为了从本地机器连接到 DB2,您还需要安装 IBM DB2 驱动程序,并将 IBM_DB_HOME 环境变量设置为安装驱动程序包的路径。 (例如 /home/db2inst1/sqllib)

然后,ibm_db gem 应该能够找到必要的二进制文件以建立与数据库的连接。

您可以在这里获取驱动程序:https://www-304.ibm.com/support/docview.wss?uid=swg21418043

这篇 developerworks 文章也会有所帮助,因为您可以使用 DB2 Express-C 在本地进行测试:http://www.ibm.com/developerworks/data/library/techarticle/dm-0705chun/

【讨论】:

    【解决方案2】:

    DB2 在 Bluemix 上不是默认的。您可以选择 bluemix 上提供的一系列数据库服务,并且需要将您的应用程序与该数据库服务绑定。对于 DB2,您可以选择 SQLDB 服务。在 Bluemix 上,DB2 以 SQLDB 的形式出现。

    如果在部署 DB2 的应用程序客户端驱动程序期间,在 Bluemix 中推送应用程序时,我们会收到“环境变量 IBM_DB_HOME 未设置”错误。如果您的 gem 版本是 2.5.18 或更高版本,Bluemix 会自动下载 DB2 客户端驱动程序。看来您使用的是旧版本的 gem。因此,得到这个错误。下载最新版本的 gem 并尝试。它应该可以工作。

    【讨论】:

      【解决方案3】:

      您可以从 Bluemix dashoard 提供的各种 DB(mysql、SQLDB、mongodb、elephantSQL)服务产品中进行选择。没有这样的默认数据库或 Bluemix 中定义了任何服务!

      【讨论】:

        【解决方案4】:

        我认为您可能更具体地使用 Mac 和 Darwin 14,它们还没有预构建的 ibm_db 二进制文件。你可以关注this dw线程以获取更新

        【讨论】:

        • 永远不要只为您的答案提供链接。一旦链接失效,您的答案将毫无意义
        【解决方案5】:

        DB2 在 bluemix 仪表板中被称为 SQLDB,这不是默认的。事实上,Bluemix 没有任何样板是默认的。

        现在查看错误 sn -p 您提供的“未设置环境变量 IBM_DB_HOME”意味着您的 DB2 应用程序客户端驱动程序丢失。

        可能的原因是您使用的是旧版本的gem,您应该尝试下载最新版本,这将修复此错误。

        希望对你有帮助!!!

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2018-08-03
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-03-28
          • 2017-11-19
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多