【问题标题】:Query MS Access DB from R with 64-bit Windows使用 64 位 Windows 从 R 查询 MS Access DB
【发布时间】:2016-07-09 17:10:38
【问题描述】:

有人要求我创建一个闪亮的 UI,以允许他们从使用 MS Office 2010 创建的 Microsoft Access 数据库中读取和写入。

我按照this 指南使用RODBC 连接到Access DB 并且——虽然我可以在Access 本身中打开这个数据库——但我从R 收到以下错误:

> channel <- odbcConnectAccess("AD_Users.accdb")
Error in odbcConnectAccess("AD_Users.accdb") : `
  odbcConnectAccess is only usable with 32-bit Windows

所以,我找到了this 的解决方案并试了一下:

> channel <- odbcDriverConnect("AD_Users.accdb")
Warning messages:
1: In odbcDriverConnect("AD_Users.accdb") :
  [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
2: In odbcDriverConnect("AD_Users.accdb") :
  [RODBC] ERROR: state 01S00, code 0, message [Microsoft][ODBC Driver Manager] Invalid connection string attribute
3: In odbcDriverConnect("AD_Users.accdb") : ODBC connection failed
> channel <- odbcDriverConnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=AD_Users.accdb")
Warning messages:
1: In odbcDriverConnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=AD_Users.accdb") :
  [RODBC] ERROR: state IM002, code 0, message [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified
2: In odbcDriverConnect("Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=AD_Users.accdb") :
  ODBC connection failed
> 

但如您所见,有一些非常严重的警告。它似乎不起作用。

还有其他解决方法吗?

当我收到这些警告时,我使用的是 32 位 R,即使它们是警告而不是技术上的错误,数据库连接也不成功。

更新

这似乎建立了一个成功的连接,尽管到目前为止我无法从中查询数据:

channel <- odbcConnectDbase("AD_Users.accdb")

【问题讨论】:

    标签: r ms-access-2010 rodbc


    【解决方案1】:

    我在RODBC 中使用odbcConnectAccess2007,并且在使用64 位Windows 时连接到Access 数据库没有任何问题。但是,您应该查看软件包手册 (link to pdf) 以确保您的计算机上安装了适当的驱动程序。找到合适的驱动程序后,您就可以开始了!

    【讨论】:

    • 谢谢,因为它是 2010 年而不是 2007 年,所以我没想到该功能会有用,但它确实有效。
    猜你喜欢
    • 1970-01-01
    • 2017-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多