2015-10-16 57 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應用程序會覺得這很有用。

相關問題