【问题标题】:How do I connect to mysql database with dbplyr如何使用 dbplyr 连接到 mysql 数据库
【发布时间】:2019-09-06 02:25:03
【问题描述】:

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

这是我的代码:

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 库通过闪亮的方式连接到它。

【问题讨论】:

    标签: mysql r dbplyr


    【解决方案1】:

    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(), 
    

    【讨论】:

      猜你喜欢
      • 2020-08-23
      • 1970-01-01
      • 1970-01-01
      • 2011-02-11
      • 1970-01-01
      • 1970-01-01
      • 2014-03-04
      相关资源
      最近更新 更多