IBM Bluemix上的DB2

时间:2014-10-26 12:28:11

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

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

感谢。

5 个答案:

答案 0 :(得分: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/

答案 1 :(得分:1)

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

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

答案 2 :(得分:0)

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

答案 3 :(得分:0)

我认为你很可能在Mac和Darwin 14上更具体,因为它还没有预先构建的ibm_db二进制文件。你可以关注this dw主题进行更新

答案 4 :(得分:0)

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

现在查看您提供的错误代码段"环境变量IBM_DB_HOME未设置"表示缺少DB2的应用程序客户端驱动程序。

可能的原因是您使用的是旧版本的gem,您应该尝试下载最新版本,这样可以解决此错误。

希望它有所帮助!!!