不使用DSN时出现R ODBC nanodbc错误

时间:2018-05-02 17:03:35

标签: r sql-server odbc

在使用DS包与非DSN与R包ODBC之间遇到问题。

使用DSN,我成功地建立了与服务器的连接并且远离了代码。但是,使用非DSN odbc连接字符串,我收到:

  

错误:nanodbc / nanodbc.cpp:950:IM002:[Microsoft] [ODBC驱动程序管理器]数据>未找到源名称且未指定默认驱动程序

连接似乎在语法上是正确的,并且根据多个功能文档填充了所有必填字段,包括:https://support.rstudio.com/hc/en-us/articles/214510788-Setting-up-R-to-connect-to-SQL-Server-

odbc_con <- dbConnect(odbc::odbc(),
                  Driver = "SQLServer",
                  Server = server,
                  Database = test, 
                  Uid = 'username',
                  Pwd = 'password',
                  Port = 1433)

服务器和测试都在代码的前面定义。 我试过删除odbc ::并且只使用odbc()。 使用分号,去掉帽子。

有点卡住,有什么建议吗?

1 个答案:

答案 0 :(得分:2)

当我从一个Linux切换到一个用于R的Windows框时(注意没有其他更改)我正在

"Error: nanodbc/nanodbc.cpp:950: IM002: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified" 

通过更改

修复了ODBC连接问题
Driver = "ODBC Driver 17 for SQL Server"

Driver = "SQL Server"

希望这可以节省你一些时间。