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

Jab*_*key 2 sql-server odbc r

在使用 DSN 与非 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 -连接到-SQL-Server-

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

服务器和测试都在代码的前面定义。我尝试删除 odbc:: 并仅使用 odbc()。使用分号,去除大写字母。

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

Sam*_*Sam 10

当我从 Linux 切换到 R 的 Windows 机器时(注意没有其他变化)我得到了

"Error: nanodbc/nanodbc.cpp:950: IM002: [Microsoft][ODBC Driver Manager] Data source name not found and no default driver specified" 
Run Code Online (Sandbox Code Playgroud)

ODBC 连接问题已通过更改修复

Driver = "ODBC Driver 17 for SQL Server"
Run Code Online (Sandbox Code Playgroud)

Driver = "SQL Server"
Run Code Online (Sandbox Code Playgroud)

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