ODBC从R连接到网络驱动器上的Access DB .accdb文件

时间:2017-02-28 18:11:08

标签: r ms-access odbc

我在网络驱动器上有一个.accdb Access DB文件,我已映射到本地计算机上的Z:/驱动器。你可以将ODBC连接到这个吗?

这是创建ODBC的代码(usrAccessPath是包含文件路径的字符串变量):

connAccessDB <- odbcDriverConnect(paste0("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=",usrAccessDBPath))

此文件路径有效:

C:/Users/boswelpa/Desktop/Projects/Absenteeism/Absenteeism Data.accdb

但是此文件路径(映射的网络驱动器)不起作用:

Z:/SSG Reporting Team/For Thomas/Absenteeism Data.accdb

相同的代码,只是不同的文件路径。

1 个答案:

答案 0 :(得分:1)

如评论所述,对具有RODBC的R的MS Access数据库的ODBC调用接受本地硬盘或网络路径(即通用命名约定(UNC)),前提是它们遵循Windows file name rules。当然,一定要通过加倍角色来逃避R中的反斜杠:

因此,以下远程路径应该起作用:

accDB = "\\\\Path\\To\\Network\\Drive\\Access\\Database.accdb"

conn <- odbcDriverConnect(paste0("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=", accDB))

此外,映射到UNC的正确映射的本地驱动器应该可以工作:

accDB = "Z:\\Mapped\\Path\\To\\Network\\Drive\\Access\\Database.accdb"

conn <- odbcDriverConnect(paste0("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=", accDB))