无法使用odbcDriverconnect(RODBC)连接到SQL Server

时间:2018-01-18 00:25:28

标签: sql-server r rodbc

我之前使用RODBC的OdbcDriverconnect()多次建立连接:

con    <- odbcDriverConnect(paste0("driver={SQL Server};server=", srnm,";trusted_connection=true"))

最近我一直收到以下错误,我不知道如何解决这个问题:

Warning messages:
1: In odbcDriverConnect(paste0("driver={SQL Server};server=", srnm,  :
  [RODBC] ERROR: state 08001, code 18, message [Microsoft][ODBC SQL Server Driver][Shared Memory]SSL Security error
2: In odbcDriverConnect(paste0("driver={SQL Server};server=", srnm,  :
  [RODBC] ERROR: state 01000, code 1, message [Microsoft][ODBC SQL Server Driver][Shared Memory]ConnectionOpen (SECCreateCredentials()).
3: In odbcDriverConnect(paste0("driver={SQL Server};server=", srnm,  :
  ODBC connection failed

提前致谢。

1 个答案:

答案 0 :(得分:0)

我也遇到了同样的错误,因为安全团队安装了最新的TLS 1.2(传输层安全性),这导致了数据库形式R的连接问题。因此,以下可能的步骤可以帮助您。

步骤:1删除最新的更新或已安装的TLS 1.2

  1. 搜索regedit(注册表编辑)并打开它。
  2. 转到位置:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ SecurityProvider \ SCHANNEL \ Protocol
  3. 删除安装TLS 1.2

注意:-就我而言,TLS 1.0,TLS 1.2和TLS 1.2在那里,所以我删除了所有内容。

第2步。重新启动SQL Server

  1. 搜索服务并打开它
  2. 选择SQL Server(MSSQLSERVER)
  3. 右键单击并重新启动。

尝试从R连接,希望您能够连接。