Jabberwockey
Jabberwockey

Reputation: 439

R ODBC nanodbc error when not using DSN

Running into an issue between using the DSN versus non DSN with the R package ODBC.

Using the DSN, I am successfully able to make a connection to the server and away the code goes. However, using the non DSN odbc connection string, I am receiving:

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

The connection appears to be syntactically correct and all of the required fields are populated according to multiple function documentations, including: 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)

Both server and test are defined earlier in the code. I have tried removing the odbc:: and just using odbc(). Using semi-colons, removing caps.

Bit stuck, any suggestions?

Upvotes: 8

Views: 42896

Answers (1)

Sam
Sam

Reputation: 518

When I switched from a Linux to a Windows box for R (note nothing else changed) I was getting

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

The ODBC connection issue was fixed by changing

Driver = "ODBC Driver 17 for SQL Server"

to

Driver = "SQL Server"

Hope this saves you some time.

Upvotes: 17

Related Questions