0

我正在创建一个非常简单的 sqldf 应用程序,我想在其中查询 postgresql 数据库并返回结果。这是我的 R 代码:

getproperties <- function(name="") {
  options(sqldf.RPostgreSQL.user ="user", 
      sqldf.RPostgreSQL.password ="password",
      sqldf.RPostgreSQL.dbname ="db",
      sqldf.RPostgreSQL.host ="server", 
      sqldf.RPostgreSQL.port =5432,
      sqldf.driver = "PostgreSQL")
  property <- sqldf("select name, url from aston_hotels.property")
  return(property)
}

当我使用 OpenCpu 调用它时

curl http://localhost/ocpu/user/kesav/library/mylib/getproperties/json --data name=kk

我收到以下错误

R call failed: process died.

不知道我做错了什么。谁能给我举一个关于如何从 OpenCpu 使用 DBI 的例子?

提前致谢

4

1 回答 1

0

如果该功能在与终端的同一台机器上运行但不在 OpenCPU 内运行时有效,则可能是安全问题。使用该应用程序时,请检查/var/log/kern.log是否有任何打印的行包含。DENIED

如果是这种情况,您可以通过编辑为安全配置文件添加适当的权限

/etc/apparmor.d/opencpu.d/custom

另请参阅标题为自定义此主题的安全配置文件的服务器手册部分。

于 2014-07-24T02:43:23.623 回答