You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu上RStudio Server连接SQL Server遇SSL协议不支持错误求助

问题描述

在Ubuntu 20.04.6 LTS上的Free RStudio Server 2023.06.1 Build 524中,通过odbc包连接同一网络内Windows Server 2019 Datacenter上的SQL Server时失败,但终端用isql可正常连接。

连接代码

library(odbc)
con <- dbConnect(odbc::odbc(), .connection_string = "DSN=MySqlServerDSN")

/etc/odbc.ini配置

[MySqlServerDSN]
Description = My SQL Server Data Source
Driver      = ODBC Driver 17 for SQL Server
Server      = 192.168.200.100
Port        = 1433
Database    = salesdb
UID         = saun
PWD         = MyDBPassW0rd

错误信息

Error: nanodbc/nanodbc.cpp:1135: 00000: [Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:1425F102:SSL routines:ssl_choose_client_version:unsupported protocol] [Microsoft][ODBC Driver 17 for SQL Server]Client unable to establish connection.

异常点

通过RStudio Server终端执行isql -v MySqlServerDSN saun 'MyDBPassW0rd'可正常连接,怀疑是否存在未配置的RStudio Server SSL设置?

解决方案

这个问题并非RStudio Server本身的SSL设置问题,而是RStudio Server运行环境的SSL协议配置与终端环境不一致导致的,以下是具体解决步骤:

  • 指定SSL协议版本
    修改/etc/odbc.ini中的DSN配置,强制指定兼容的SSL协议版本:
[MySqlServerDSN]
Description = My SQL Server Data Source
Driver      = ODBC Driver 17 for SQL Server
Server      = 192.168.200.100
Port        = 1433
Database    = salesdb
UID         = saun
PWD         = MyDBPassW0rd
Encrypt     = yes
TrustServerCertificate = yes
SSLProtocol = TLSv1.2

其中SSLProtocol=TLSv1.2强制使用SQL Server普遍支持的TLS版本,避免协议不兼容;内网环境下TrustServerCertificate=yes可跳过证书验证。

  • 同步RStudio Server的SSL环境变量
    RStudio Server运行时可能未继承终端的SSL配置,可在R会话中手动设置:
Sys.setenv(OPENSSL_CONF="/etc/ssl/openssl.cnf")

或者修改RStudio Server启动配置文件/etc/rstudio/rserver.conf,添加:

rsession-ld-library-path=/usr/lib/x86_64-linux-gnu/openssl-1.1

添加后重启服务:

sudo systemctl restart rstudio-server
  • 更新ODBC驱动
    确保ODBC Driver 17 for SQL Server为最新版本,执行更新命令:
sudo apt-get update
sudo apt-get install --reinstall msodbcsql17

内容的提问来源于stack exchange,提问作者Ahmed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 01:23:14