RODBC 连接在 opencpu 中失败
RODBC connection failing in opencpu
我需要通过 opencpu 在 SQL 服务器上获取数据。 RODBC 与单用户版本的 opencpu 完美配合。但是在云服务器上我得到这个错误:
first argument is not an open RODBC channel
In call:
RODBC::sqlQuery(dbhandle, sql_query)
完全相同的函数在 Rstudio 服务器上完美地获取数据(相同的服务器 ubuntu 16.04,相同的连接字符串,使用驱动程序 FreeTDS)。
ODBC 是否缺少一些特殊的驱动程序设置才能与 opencpu 一起使用?
终于找到 this question 帮了大忙。
看起来问题出在 AppArmor 上。通过打开 /var/log/kern.log
我意识到有一些规则要添加到 /etc/apparmor.d/opencpu.d/custom
例如,如果您使用 msodbcsql,/etc/apparmor.d/opencpu.d/custom
中的以下行应该有效:
/opt/microsoft/msodbcsql/** r,
别忘了重启apparmor:
sudo service apparmor restart
我需要通过 opencpu 在 SQL 服务器上获取数据。 RODBC 与单用户版本的 opencpu 完美配合。但是在云服务器上我得到这个错误:
first argument is not an open RODBC channel
In call:
RODBC::sqlQuery(dbhandle, sql_query)
完全相同的函数在 Rstudio 服务器上完美地获取数据(相同的服务器 ubuntu 16.04,相同的连接字符串,使用驱动程序 FreeTDS)。
ODBC 是否缺少一些特殊的驱动程序设置才能与 opencpu 一起使用?
终于找到 this question 帮了大忙。
看起来问题出在 AppArmor 上。通过打开 /var/log/kern.log
我意识到有一些规则要添加到 /etc/apparmor.d/opencpu.d/custom
例如,如果您使用 msodbcsql,/etc/apparmor.d/opencpu.d/custom
中的以下行应该有效:
/opt/microsoft/msodbcsql/** r,
别忘了重启apparmor:
sudo service apparmor restart