我正在寻找分析数据在R(使用dplyr)包含在Access数据库在我的笔记本电脑上。(我第一次尝试建立一个数据库连接在R。)
查看tidyverse站点,对于dplyr处理Access数据,似乎必须通过DBI包(而不是RODBC)进行连接。
我正在纠结于数据库连接的语法。
我的RODBC代码是
base1<-odbcDriverConnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=[filepath]/AdventureWorks DW 2012.accdb")
我的(失败的)DBI尝试是
DB <- dbConnect(drv=Microsoft Access Driver (*.mdb, *.accdb)), host=[filepath]/AdventureWorks DW 2012.accdb)
我哪里做错了?
(我在Windows 10上工作-所有64位。
3条答案
按热度按时间cbjzeqam1#
我最近需要将我的RODBC定义的数据库连接转换为等效的DBI连接。
如here所述,dbplyr程序包是从DBI程序包构建的。
DBI::dbConnect()
的第一个参数必须是适当的后端驱动程序。有关驱动程序列表,请参见链接。对于Access,odbc::odbc()
驱动程序是合适的。dbConnect函数的第二个参数是在前面的odbcDriverConnect调用中使用的完整连接字符串。记住这一点,下面的函数应该连接到您的access数据库:odbc软件包文档还提供了一个更微妙的示例:https://github.com/r-dbi/odbc#odbc
iklwldmw2#
正如here所解释的,你仍然可以使用
odbcConnectAccess2007()
,但是需要here的32位MS Access 2007驱动程序。hwamh0ep3#
我几天前才用过这个。