【发布时间】:2017-05-18 23:14:45
【问题描述】:
我想在 R 中打开一个 2007 Access 数据库。为此,我使用以下代码:
RIFSdatabase <- odbcConnectAccess2007(paste(db.dir, DB.filename, sep='/'))
如果在 32 位 R(R 控制台或 R 工作室)中运行,则返回以下错误:
警告信息: 1:在 odbcDriverConnect(con, ...) 中: [RODBC] 错误:状态 IM002,代码 0,消息 [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序
2:在 odbcDriverConnect(con, ...) 中:ODBC 连接失败
如果在 64 位 R(R 控制台或 Rstudio)中运行,则返回以下错误:
警告信息: 1:在 odbcDriverConnect(con, ...) 中: [RODBC] 错误:状态 IM003,代码 160,消息由于系统错误 126 无法加载指定的驱动程序:找不到指定的模块。 (Microsoft Access 驱动程序(*.mdb、*.accdb)、C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEODBC.DLL)。 2:在 odbcDriverConnect(con, ...) 中:ODBC 连接失败
MS Access 数据库驱动程序(*.mdb、*accdb)被列为用户 DSN,但是...如果我单击配置,我会收到错误消息:
“Microsoft Access 驱动程序 (*mdb, *accdb) ODBC 驱动程序的设置例程无法加载到系统错误代码 126: 找不到指定的模块。(C:\Program Files\Common Files\Microsoft Shared\OFFICE16\ACEODBC.DLL)
如何解决此连接错误?
我没有在这台计算机上使用我的ODBC 驱动程序进行其他任何操作 - 基于这些错误,它们可能没有安装(尽管被列为用户 DSN)?
我不在乎我是在 32 位还是 64 位上运行 R。
【问题讨论】:
-
您进行过办公室维修吗?您的安装可能存在一些需要修复的问题。此外,如果您安装了 32 位 office,则需要运行 32 位 R 才能使用 ODBC 驱动程序。如果有兴趣,这里有一个工作:stackoverflow.com/a/39962110/3242130
-
使用 RODBC,运行命令
odbcDataSources()以查看所有可用的 ODBC 源。另外,请尝试通用连接方法,而不是 2007 年的方法:odbcDriverConnect('Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=C:\\Path\\To\\Database\\File.accdb') -
@Parfait - 当我运行命令 obdcDataSources() 时,我看到列出了 MS Access 数据库“Microsoft Access Driver (.mdb, *.accdb)”。使用命令 odbcDriverConnect('Driver={Microsoft Access Driver (.mdb, .accdb)};DBQ=x:/PATHWAY.accdb') 我在 odbcDriverConnect("Driver={Microsoft访问驱动程序 (.mdb, *.accdb)};DBQ=x:/surface/UOP/01_Data/BCSA_PRP_Group/BCSA_Database_GUI/BCSA_ExternalAccess.accdb"):[RODBC] 错误:状态 IM002,代码 0,消息 [ Microsoft][ODBC Driver Manager] 未找到数据源名称且未指定默认驱动程序
-
检查您的实际通话是否与您的帖子一样,
.mdb前面缺少星号?应该阅读odbcDriverConnect('Driver={Microsoft Access Driver (*.mdb, *.accdb)};.. -
* 在 R 中运行时存在(只需重新运行以确认...同样的错误)