访问数据库的相对路径

时间:2018-10-24 06:12:13

标签: r database

我希望这里有人可以指出正确的方向。 我正在尝试从R连接到访问数据库,而没有对其路径进行硬编码。例如,当我编写路径时,此方法有效:

library(RODBC)
library(dplyr)
library(dbplyr)
library(DBI)
library(tibble)

myDB <- odbcDriverConnect("Driver={Microsoft Access Driver (*.mdb, 
*.accdb)};DBQ=C:/Users/myfolder/Desktop/R_Connection.accdb")

 #But this doesn't work. I put the database path in 'dbpath' but for some
 #reason 'dbpath' isn't recognized.

dbpath <- paste0(getwd(),"/R_Connection.accdb")
print(dbpath)
myDB <- odbcDriverConnect(paste0(""Driver={Microsoft Access Driver (*.mdb, 
*.accdb)};DBQ="",dbpath))

2 个答案:

答案 0 :(得分:0)

您应该对此进行更具体的说明,因为它不起作用,例如提供错误消息。这可能是您的双引号",需要转义以粘贴字符串。 paste0感到困惑。您可以使用\"或使用单引号'这样做,然后将第二个引号放在结尾,如下所示:

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

答案 1 :(得分:0)

此代码有效。奇怪的是,这就是我早先运行它的方式,但是它没有用。开始了一个新的R会话,现在它就像一个魅力。感谢您检查R. Prost。

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