使用RODBC连接32位Access导致R会话终止的解决方法咨询
解决32位R 4.1.3连接Access数据库时会话终止的问题
先修复代码语法错误
你的代码里db_path的字符串未闭合双引号,这是触发异常的直接诱因之一,修正后的代码如下:
library(RODBC) # 补上缺失的末尾双引号 db_path <- "C:/Pathway/To/Access.accdb" con <- odbcConnectAccess2007(db_path)
排查ODBC驱动兼容性
- 确认安装32位Microsoft Access ODBC驱动:32位R只能调用32位驱动,64位驱动无法兼容,可通过控制面板的「ODBC数据源(32位)」查看是否存在
Microsoft Access Driver (*.mdb, *.accdb)驱动。 - 若驱动缺失,需下载对应32位版本的Access Runtime或ODBC驱动包安装(注意不要装64位版本)。
调整运行环境
- 关闭所有64位Office程序:64位Office进程会占用32位ODBC驱动资源,导致R会话崩溃。
- 以管理员身份启动R/RStudio:权限不足可能导致驱动调用失败,触发会话终止。
替代方案(RODBC仍报错时)
若上述步骤无效,可换用兼容性更好的odbc包连接:
library(odbc) con <- dbConnect(odbc(), Driver = "Microsoft Access Driver (*.mdb, *.accdb)", Dbq = "C:/Pathway/To/Access.accdb")
内容的提问来源于stack exchange,提问作者a nony mouse
相关产品推荐
相关产品推荐

