在sql server升级到TLS 1.2后,无法将R连接到SQL Server

时间:2018-05-29 14:10:57

标签: r sql-server rodbc

我一直使用以下代码成功连接到R

中的sql server
dbhandle=odbcDriverConnect("Driver={SQL Server};Server=servername;Database=databasename;Trusted_Connection=Yes")

但是,在升级sql server以与TLS 1.2兼容后,它出现以下错误

Warning messages:
1: In odbcDriverConnect("Driver={SQL Server};Server=MHPOPMMSS100;Database=REZNKWB01;Trusted_Connection=Yes") :
  [RODBC] ERROR: state 08001, code 18, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]SSL Security error
2: In odbcDriverConnect("Driver={SQL Server};Server=MHPOPMMSS100;Database=REZNKWB01;Trusted_Connection=Yes") :
  [RODBC] ERROR: state 01000, code 1, message [Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (SECCreateCredentials()).
3: In odbcDriverConnect("Driver={SQL Server};Server=MHPOPMMSS100;Database=REZNKWB01;Trusted_Connection=Yes") :
  ODBC connection failed

我从来不需要一个uid,但是我已经尝试使用同一个用户名来直接连接到sql server,我已经尝试过trustconnection = yes和no,我试过在服务器之后添加端口,基本上是我的任何东西在线阅读我试过了。

我想知道是否有遗漏或有人输入的东西。谢谢!

1 个答案:

答案 0 :(得分:0)

library(RODBC)
dbconnection <- odbcDriverConnect("Driver=ODBC Driver 11 for SQL Server;Server=Server_Name; Database=DB_Name;Uid=; Pwd=; trusted_connection=yes")
initdata <- sqlQuery(dbconnection,paste("select * from MyTable;"))
odbcClose(channel)

另外,请参见下面的链接。

http://stackoverflow.com/questions/15420999/rodbc-odbcdriverconnect-connection-error

https://andersspur.wordpress.com/2013/11/26/connect-r-to-sql-server-2012-and-14/

最后,请确保您的设置兼容32位或64位。在SQL Server中,执行以下操作:选择@@ Version

这将告诉您使用的是32位还是64位。确保您的R Studio与您正在运行的任何版本的SQL Server兼容。

Note that by holding down the Control key during the launch of RStudio you can cause the R version selection dialog to display at startup.

enter image description here