2015-10-16 26 views
0

我正在将Docker容器中的闪亮应用程序部署到Bluemix上。我使用摇杆/闪亮的Docker镜像(https://hub.docker.com/r/rocker/shiny/)作为我的初始起点。我已经安装了unixODBC-dev,RODBC,ibm数据服务器驱动程序包,R的ibmdbR库以及所有需要的依赖项。我唯一的问题是,当我试图从它未能执行Web浏览器访问的有光泽的应用程序,错误的是:Shiny服务器不能使用RODBC连接到DB2,但RStudio可以在Docker容器中

Warning in odbcDriverConnect("DSN=BLUDB", : 
[RODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib '/root/db2_cli_odbc_driver/dsdriver/odbc_cli_driver/linuxamd64/clidriver/lib/libdb2o.so' : file not found 
Warning in odbcDriverConnect("DSN=BLUDB; : 
ODBC connection failed 
Error in idaInit(con) : con is not an open connection, please use idaConnect() to create an open connection to the data base. 

起初我有同样的问题时,我会尝试使用isql连接到数据库或尝试从RStudio连接,我在该库文件上使用ldd,发现什么是缺少的,并修复了从命令行和RStudio的连接,但是我的Shiny-Server仍然给我同样的错误,有什么我失踪?

回答

0

我最终自己解决了这个问题,事实证明这些库不能被作为服务运行的闪亮服务器访问。我将db2 odbc驱动程序移至/ usr/local/lib以使其可访问,并且还在错误消息中提到的库上运行了“ldd”命令,并发现我也必须安装libxml2。做完这些之后,我只是在/ etc中更改了我的odbcinst.ini文件,以引用db2库的新位置,现在它全部正常工作!希望其他人试图部署依赖于连接到DB2数据库的Shiny应用程序会觉得这很有用。

相关问题