OpenCPU上的RODBC无法找到依赖库

时间:2015-07-14 21:39:07

标签: r odbc vertica unixodbc opencpu

这里有几个相关的主题,但我尝试通过OpenCPU和vRODBC连接到Vertica的主要原因是:

  1. 我开始使用RJDBC,它可以在RStudio(甚至服务器RStudio版本)中正常工作,但是OpenCPU / rApache并不喜欢它。 rJava on OpenCPU
  2. 我安装了vRODBC软件包,它是RODBC的衍生产品,我使用isql从CMD Line和使用DSN和odbcConnect(' myDSNName')Installing vRODBC的RStudio Server成功查询了Vertica
  3. 当我使用在RStudio Server上运行的代码编译应用程序时,尝试通过OpenCPU(从控制台拉出)运行时出现连接错误:
  4. 它适用于RStudio Server

    > vertica =  odbcConnect("VerticaDSN")
    > data = sqlQuery(vertica, query)
    > data
      TDIDCount
    1      3015
    

    但不是来自我创建的Opencpu应用程序

    //From Console Output
    [vRODBC] ERROR: state 01000, code 0, message [unixODBC][Driver Manager]Can't open lib '/opt/vertica/lib64/libverticaodbc.so.6.1.3' : file not found
    Warning message:
    ODBC connection failed
    [1] -1
    

    我检查了这条路,它显然确实存在。我发现另一个问题,说这个错误是由一个无法为libverticaodbc.so库加载的依赖引起的,所以我试着按照步骤查看我可能没有权限使用opencpu用户的库徒劳无功。 Can't open lib with UnixODBC

    $ sudo su - opencpu
    $ ldd /opt/vertica/lib64/libverticaodbc.so.6.1.3
            linux-vdso.so.1 =>  (0x00007fff5cd10000)
            libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f16a30cc000)
            libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f16a2eb1000)
            libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f16a2c77000)
            libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f16a2a59000)
            libstdc++.so.6 => /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f16a2755000)
            libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f16a244e000)
            libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f16a2238000)
            libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f16a1e73000)
            /lib64/ld-linux-x86-64.so.2 (0x00007f16a4854000)
    $
    

    我关闭......非常接近......我能感觉到......只需要修复一些阴暗的环境变量或权限,以便OpenCPU可以正确找到ODBC驱动程序,然后我就可以了有更多的R + webApp荣耀推动我前进!

0 个答案:

没有答案