【发布时间】:2017-12-17 06:11:39
【问题描述】:
系统规格:64 位操作系统 (Win7)、64 位 R (3.3.3)、32 位 MS Access (2016)。
我在 32 位 .accdb 文件中有数据,我想将其读入 R。我试过这个:
con <- odbc::dbConnect(odbc::odbc(),
dsn="MS Access Database")
但看到以下错误:
Error: nanodbc/nanodbc.cpp:950: IM014: [Microsoft][ODBC Driver Manager]
The specified DSN contains an architecture mismatch between the Driver and Application
网络搜索表明,R 和数据库之间的位差异是罪魁祸首。 Windows 中的默认 ODBC 管理器不包括 MS Access 的驱动程序(或者更确切地说,似乎是,但尝试使用该工具管理它们会给您带来架构错误)。根据其他建议,我使用 32 位程序的 ODBC 管理器 (c:\windows\sysWOW64\odbcad32.exe) 为 MS Access 文件创建一个新名称的新 DSN,然后调用此 DSN:
con <- odbc::dbConnect(odbc::odbc(),
dsn="MSAccess32")
但是,我遇到了同样的错误,并且怀疑我不明白这个错误的含义。是否有针对该问题的已知解决方法?
【问题讨论】:
标签: r database windows odbc 32bit-64bit