如何使用 dbplyr 连接到 mysql 数据库

How do I connect to mysql database with dbplyr

我在本地 mysql 数据库中有一名员工 table。我正在尝试使用 dbplyr 和 DBI 连接到 database/table 并将数据查询到数据帧中。

这是我的代码:

library(dbplyr)
library(DBI)
library(RMySQL)
my_db <-  DBI::dbConnect(RMySQL::MySQL()(), 
                        host = "127.0.0.1",
                        port = 3306,
                        user = "username",
                        password = "password"
  )

employee <- tbl(my_db, "employee")

view(employee)

当我 运行 脚本时,出现以下错误:

Error in DBI::dbConnect((RMySQL::MySQL())(), host = "127.0.0.1", user = "root",  : 
  attempt to apply non-function

我一直在谷歌搜索错误消息,但未能找到解决方案。

我使用 mysql 8.0CE 数据库并且已经能够使用 RMySQL 库通过 shiny 连接到它。

dbConnect 的文档说第一个参数是:drv - 一个从 DBIDriver 继承的对象,或一个现有的 DBIConnection 对象(为了克隆一个现有的连接)。

当我连接到 MS SQL 服务器时,我使用命令:

db_connection = dbConnect(odbc::odbc(), .connection_string = connection_string)

连接字符串是捕获主机、端口等的另一种方式

RMySQL 文档给出了以下示例:

con <- dbConnect(RMySQL::MySQL(), dbname = "test")

所以这个问题可能是多了一对括号:

# current code causing error
my_db <-  DBI::dbConnect(RMySQL::MySQL()(), 
# try this instead
my_db <-  DBI::dbConnect(RMySQL::MySQL(),