We have a UNIX machine which includes R engine on it and installed SQL Server ODBC Driver 11.
We need to connect R to SQL Server. SQL Server currently works on another machine, so we tried to connect R to SQL Server with the code below.
library(RODBC)
dbhandle <- odbcDriverConnect('driver=ODBC Driver 11 for SQL Server;server=10.XXX.XX.XX:1663;')
But getting that error:
Warning messages: 1: In odbcDriverConnect("driver=ODBC Driver 11 for SQL Server;server=10.XXX.XX.XX:1663;") :
[RODBC] ERROR: state HYT00, code 0, message [unixODBC][Microsoft][ODBC Driver 11 for SQL Server]Login timeout expired 2: In odbcDriverConnect("driver=ODBC Driver 11 for SQL Server;server=10.XXX.XX.XX:1663;") :
[RODBC] ERROR: state 08001, code 87, message [unixODBC][Microsoft][ODBC Driver 11 for SQL Server]A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. 3: In odbcDriverConnect("driver=ODBC Driver 11 for SQL Server;server=10.XXX.XX.XX:1663;") :
[RODBC] ERROR: state 08001, code 87, message [unixODBC][Microsoft][ODBC Driver 11 for SQL Server]SQL Server Network Interfaces: Connection string is not valid [87]. 4: In odbcDriverConnect("driver=ODBC Driver 11 for SQL Server;server=10.XXX.XX.XX:1663;") : ODBC connection failed
If I run telnet to SQL Server from UNIX machine, it works perfectly. I mean there is a healthy connection between these two machine.
How can we connect R to SQL Server without using DSN?
-
Please don't cross-post between SE sites stackoverflow.com/questions/35868420/…Mark Sinkinson– Mark Sinkinson2016年03月09日 10:56:52 +00:00Commented Mar 9, 2016 at 10:56
-
Why? @MarkSinkinsonneverwinter– neverwinter2016年03月09日 12:43:51 +00:00Commented Mar 9, 2016 at 12:43
-
Because that's the general rule of Stack Exchange DBA.stackexchange.com/help/on-topicMark Sinkinson– Mark Sinkinson2016年03月09日 12:47:49 +00:00Commented Mar 9, 2016 at 12:47
-
OK thanks for information. @MarkSinkinson I will obey this rule next time.neverwinter– neverwinter2016年03月09日 12:57:13 +00:00Commented Mar 9, 2016 at 12:57
2 Answers 2
I changed delimiter which between server and port from :
to ,
. It fixed my problem.
dbhandle <- odbcDriverConnect('driver=ODBC Driver 11 for SQL Server;server=10.XXX.XX.XX,1663;')
Connection string is not valid
is the key error message there, I think.
Try:
dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;
Server=10.XXX.XX.XX:1663; Database=YOURDBNAME;
Uid=USERID; Pwd=PASSWORD")
-
Nothing changed @Philneverwinter– neverwinter2016年03月09日 10:53:27 +00:00Commented Mar 9, 2016 at 10:53