Shiny Server使用软件包RJDBC断开Postgre数据库的连接

时间:2019-05-15 15:45:19

标签: r postgresql shiny-server rjdbc

我在R服务器和闪亮服务器中运行相同的闪亮应用程序。

同一虚拟机中的R服务器和闪亮服务器。

我已将Postgre数据库与R Server中的软件包RJDBC连接。 但是我用Shiny Server中的RJDBC软件包断开了Postgre数据库的连接。

当我链接闪亮的应用程序时,网页下方显示错误工具提示:“与服务器断开连接”

R代码:

library(shiny)

library(RJDBC)

drv=RJDBC("org.postgresql.Driver","/home/myhome/postgresql-42.2.5.jar")

shinyServer(
...
)

R错误日志:

  

警告:.jfindClass中的错误:   java.lang.ClassNotFoundException 54:nonymousErro   Java.lang.ClassNotFoundExceptionshiny-server-client.min.js:1   应用程序une

     

诊断信息已转储到JavaScript错误   控制台。

我怀疑

(1)Java环境设置不正确。

(2)Shiny Server设置了错误的Java版本路径。

(3)Postgre数据库jar版本文件错误。

问题排查

(1)(2)

我在Shiny Server中使用以下代码来引用闪亮服务器的环境变量。

Sys.getenv("LD_LIBRARY_PATH")
  

/user/lib64/R/lib:/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.e17_6.x86_64/jre/lib/amd64/server

我使用“ java -version”来指代VM的Java版本,结果如​​下:

  

openjdk版本“ 1.8.0_212”

     

openJDK运行时环境(内部版本1.8.0_212-b4)

     

openJDK 64位服务器VM(内部版本25.212.-b04,混合模式)

(3)我尝试了三个postgre jar文件,但是它们都无法在Shiny Server中运行。

  

postgresql-42.2.5.jar

     

postgresql-42.2.5.jre6.jar

     

postgresql-42.2.5.jre7.jar

如何在闪亮的服务器中执行Shinyapp?

谢谢

环境: Centos的7 x64

0 个答案:

没有答案