Альтернатива для пакета RODB C для подключения из R к MS Access - PullRequest
0 голосов
/ 17 июня 2020

Я пытаюсь установить соединение из R с файлом базы данных в Microsoft Access. Я использовал для этого пакет RODB C.

Однако пакет недавно был обновлен, и теперь он больше не совместим с моей версией R (я не могу легко обновить свою версию R, так как она используется в коммерческих целях).

Вот строки кода, которые я использую, когда в игру вступает пакет RODB C:

install.packages("RODBC")
library(RODBC)  
access_file     <- "file_name.accdb"
cfs <- odbcConnectAccess2007(access_file)   
df1 <- sqlFetch(cfs, "G_Company")

Кто-нибудь знает альтернативу пакету RODB C?

Спасибо.

1 Ответ

2 голосов
/ 17 июня 2020

Вы можете использовать способ Tidyverse для подключения к базам данных, пакетам DBI и odbc:

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")

Это дает множество преимуществ, например, позволяет вставлять операторы SQL в файлы RMD. . Я бы избегал dbplyr + Access, поскольку Access SQL во многих отношениях нестандартен.

Однако, если вы собираетесь использовать старые версии R, я часто использую пакет checkpoint, который позволяет мне, чтобы установить несколько версий пакетов бок о бок и избежать несовместимости между ними, получая пакеты до указанной даты.

...