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

3

我在本地的mysql数据库中有一个员工表。我试图使用dbplyr和DBI连接到数据库/表并将数据查询成dataframe。

以下是我的代码:

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库成功连接到它。

1个回答

4
dbConnect 的文档说明第一个参数为:drv - 从 DBIDriver 继承的对象,或者是现有的 DBIConnection 对象(以便克隆现有连接)。
当我连接到 MS SQL Server 时,我使用以下命令:
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(), 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接