0

我刚刚开始使用 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,我希望有另一种方式吗?

谢谢。

4

5 回答 5

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/

于 2014-10-27T03:20:30.170 回答
1

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

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

于 2014-12-04T12:50:38.740 回答
0

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

于 2014-11-21T16:55:11.397 回答
0

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

于 2014-12-08T09:04:08.687 回答
0

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

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

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

希望能帮助到你!!!

于 2014-12-29T12:49:09.420 回答