RODBC 包的替代方案,用于建立从 R 到 MS Access 的连接

mat*_*hew 2 ms-access r rodbc

我正在尝试建立从 R 到 Microsoft Access 中的数据库文件的连接。我曾经为此使用 RODBC 包。

然而,该软件包最近进行了更新,现在它不再与我的 R 版本兼容(我无法轻松升级我的 R 版本,因为它用于商业目的)。

这些是我使用 RODBC 包发挥作用的代码行:

install.packages("RODBC")
library(RODBC)  
access_file     <- "file_name.accdb"
cfs <- odbcConnectAccess2007(access_file)   
df1 <- sqlFetch(cfs, "G_Company")
Run Code Online (Sandbox Code Playgroud)

有谁知道 RODBC 包的替代品吗?

谢谢。

Eri*_*k A 6

您可以使用 Tidyverse 方式连接数据库、包DBIodbc

library(DBI)
library(odbc)
connection <- dbConnect(odbc(), .connection_string = "Driver={Microsoft Access Driver (*.mdb, *.accdb)};Dbq=C:\\file_name.accdb;")
df1 <- dbReadTable(connection , "G_Company")
Run Code Online (Sandbox Code Playgroud)

这具有多种优点,例如允许您在 RMD 文件中嵌入 SQL 语句,并允许您集成以dbplyr从 dplyr 语句形成查询。

但是,如果您要使用旧的 R 版本,我经常使用该checkpoint包,它允许我并行安装多个版本的包,并通过从指定日期之前获取包来避免它们之间的不兼容。

  • `dbConnect(odbc(), .connection_string = Paste0("Driver={Microsoft Access 驱动程序 (*.mdb, *.accdb)};Dbq=", file.path(getwd(), "file_name.accdb"), " ;“))`。对我来说似乎相当简单。 (2认同)