我正在将Docker容器中的闪亮应用程序部署到Bluemix上。我使用摇杆/闪亮的Docker图像(https://hub.docker.com/r/rocker/shiny/)作为我的初始起点。我已经安装了unixODBC-dev,RODBC,ibm数据服务器驱动程序包,R的ibmdbR库以及所有需要的依赖项。我唯一的问题是,当我尝试从Web浏览器访问闪亮的应用程序时,它无法执行,错误是:
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 :(得分:0)
我最终自己解决了这个问题,结果发现,作为服务运行的闪亮服务器无法访问这些库。我将db2 odbc驱动程序移动到/ usr / local / lib以使其可访问,我还运行了" ldd"在错误消息中提到的库上的命令,发现我也必须安装libxml2。在这之后,我只是将/ etc中的odbcinst.ini文件更改为引用db2库的新位置,现在一切正常!希望其他任何试图部署依赖于连接到DB2数据库的Shiny Apps的人都会觉得这很有用。