R语言连接数据库报错:数据源名称未找到且未指定默认驱动
解决R语言连接数据库报错“数据源名称未找到且未指定默认驱动”
检查ODBC数据源配置
这个报错核心是R找不到你指定的ODBC数据源(DSN),或者没明确指定驱动。打开系统的「ODBC数据源管理器」(Windows用户注意区分32位/64位,要和你安装的R版本位数一致),确认同事使用的DSN名称在你的机器上已配置;如果不想依赖本地DSN,直接用无DSN连接字符串更稳妥。修正R连接代码
推荐直接指定驱动和数据库信息,避免依赖本地DSN配置,以常用的odbc和RODBC包为例:- 用
odbc包的写法:library(odbc) # 替换成你的数据库实际信息,Driver名称要和本地安装的驱动完全一致 con <- dbConnect(odbc(), Driver = "SQL Server", Server = "你的服务器IP/名称", Database = "目标数据库名", UID = "数据库账号", PWD = "数据库密码") - 用
RODBC包的写法:library(RODBC) con <- odbcDriverConnect("Driver={SQL Server};Server=你的服务器IP/名称;Database=目标数据库名;Uid=账号;Pwd=密码")
- 用
匹配R与驱动的位数
如果你装的是64位R,必须使用64位ODBC驱动配置;32位R对应32位驱动。很多新手会忽略这点,导致驱动匹配失败。确认数据库驱动已安装
你的机器可能缺少对应数据库的ODBC驱动,比如SQL Server、MySQL等。去数据库官方网站下载对应版本的驱动安装即可,确保和R的位数匹配。
内容的提问来源于stack exchange,提问作者Sebastian Damon B
相关产品推荐
相关产品推荐

