我们最近得到了一个小型的红帽服务器来试验闪亮服务器。我们的IT部门运行着闪亮的服务器并安装了Oracle客户端,但我无法使ROracle在闪亮的服务器上工作。他们(IT)已经决定它是一个应用程序问题,并且正在开始放弃...用闪亮服务器上的ROracle连接到Oracle数据库
最初,ROracle根本无法在服务器上工作,但我们通过将LD_LIBRARY_PATH设置为在我的用户帐户中工作我的.bashrc文件。完成后,我可以登录服务器,并从R查询数据库。我甚至可以使用runApp()从R运行我的闪亮应用程序。
当我尝试通过闪亮服务器访问同一个应用程序时,以下错误:
Listening on port 40679
Loading required package: DBI
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared object '/usr/lib64/R/library/ROracle/libs/ROracle.so':
libclntsh.so.11.1: cannot open shared object file: No such file or directory
Error : package or namespace load failed for 'ROracle'
Error : package or namespace load failed for 'ROracle'
这是我让我的帐户之前,我设置了LD_LIBRARY_PATH变量相同的错误。服务器以用户闪亮的方式运行,但显然不会运行任何启动脚本,因此修复了我的用户的问题将无法修复闪亮的用户。这一切都远远超出我的知识领域,正如我所说的,我们的IT部门表示他们没有想法。
我没有sudo访问服务器,所以我可以尝试的东西是有限的。我尝试从我的server.R脚本中设置LD_LIBRARY_PATH,然后使用sys.setenv()加载ROracle并使用system(),但这些都不起作用。我们一直试图帮助我的DBA尝试在/etc/init/shiny-server.conf中设置LD_LIBRARY_PATH,但这看起来并不奏效。
我真的很希望这里的某个人有一些想法。
谢谢
你在shiny-server conf中使用了哪种语法?导出LD_LIBRARY_PATH =?或者只是LD_LIBRARY_PATH =? – codeblur