Shining Server不能使用RODBC连接到DB2,但RStudio可以在Docker容器中使用

Shining Server不能使用RODBC连接到DB2,但RStudio可以在Docker容器中使用,r,rstudio,shiny-server,rodbc,unixodbc,R,Rstudio,Shiny Server,Rodbc,Unixodbc,我正在将Docker容器中的闪亮应用程序部署到Bluemix上。我使用摇滚乐/闪亮的Docker图像()作为我的初始起点。我已经安装了unixodbcdev、RODBC、ibm数据服务器驱动程序包、ibmdbR库for R以及所有需要的依赖项。我唯一的问题是,当我尝试从web浏览器访问shiny应用程序时,它无法执行,错误是: Warning in odbcDriverConnect("DSN=BLUDB", : [RODBC] ERROR: state 01000, code 0, mess

我正在将Docker容器中的闪亮应用程序部署到Bluemix上。我使用摇滚乐/闪亮的Docker图像()作为我的初始起点。我已经安装了unixodbcdev、RODBC、ibm数据服务器驱动程序包、ibmdbR库for R以及所有需要的依赖项。我唯一的问题是,当我尝试从web浏览器访问shiny应用程序时,它无法执行,错误是:

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进行连接的问题,但是我的闪亮服务器仍然会给我相同的错误,有什么我遗漏的吗?

最后我自己解决了这个问题,结果是作为服务运行的闪亮服务器无法访问这些库。我将db2 odbc驱动程序移到/usr/local/lib以使其可访问,我还对错误消息中提到的库运行了“ldd”命令,发现我还必须安装libxml2。这样做之后,我只是在/etc处更改了odbcinst.ini文件,以引用db2库的新位置,现在一切正常了!希望其他试图部署依赖于连接到DB2数据库的闪亮应用程序的人会发现这很有用