我有一个AWS EC2 Ubuntu实例和一个AWS RDS MySQL实例。我连接了两个,以便我的Ubuntu实例可以与我的MySQL数据库连接。我测试了连接,它的工作原理。我这样做的原因是我可以发布一个Shiny应用程序来查询我的数据库。
我已在我的EC2实例上安装了必备软件包DBI
和RMySQL
,并在脚本中正确调用了它们。但是,我在运行应用时收到错误消息could not find function "dbFetch"
。
我知道这有点奇怪,因为同一个脚本在我的本地运行。我做的第一件事是进入我的实例版本的R来测试该功能。我收到了同样的错误消息。所以我从Github下载了DBI软件包,之后函数在它的R中工作。但是,即使重新启动服务器,我的脚本也会返回相同的错误。
我的server.app看起来像这样:
library(shiny)
library(DBI)
library(RMySQL)
server <- function(input, output) {
db <- dbConnect(MySQL(),
dbname = "isi490",
host = "isi490.cse8ifih4f0f.us-east-2.rds.amazonaws.com",
port = 3306,
user = "user",
password = "password")
output$table <- renderTable({
res <- dbSendQuery(db, input$query)
dbFetch(res)
})
}