【问题标题】:ODBC drivers not found未找到 ODBC 驱动程序
【发布时间】: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 中运行时存在(只需重新运行以确认...同样的错误)

标签: r ms-access odbc rodbc


【解决方案1】:

使用您的错误代码执行 google 搜索显示以下对 Microsoft 上具有相同错误的帖子的答案:

你需要去

C:\Windows\SysWOW64\obdcad32.exe

这将加载使用 32 位驱动程序创建 DSN 所需的 32 位 odbc 管理器。

https://answers.microsoft.com/en-us/msoffice/forum/msoffice_access-mso_other/microsoft-access-driver-mdb-accdb-system-error/def76bd8-ffc6-44ec-a3e4-47a839b1314e

【讨论】:

    猜你喜欢
    • 2018-03-02
    • 2014-07-23
    • 1970-01-01
    • 2023-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-10-26
    • 1970-01-01
    相关资源
    最近更新 更多