Azure Databricks Runtime 8.3安装SQL Server ODBC库报错求助
解决方案
所有报错的核心原因是操作权限配置错误,以及Linux shell重定向的权限逻辑问题,按照以下步骤操作即可完成安装:
修正后的安装脚本
直接在notebook中运行以下%sh代码即可:
%sh curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add - curl https://packages.microsoft.com/config/ubuntu/16.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list sudo apt-get update -y sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev sudo apt-get install -y python3-pip sudo pip3 install --upgrade pip pyodbc
修正点说明
- 给
apt-key add操作加了sudo权限,普通用户没有权限修改系统apt密钥库 - 将
curl > 系统路径的写法替换为curl | sudo tee 系统路径:shell重定向操作是由当前普通用户执行的,即使用sudo开头也没有权限写入/etc系统目录,用tee命令可以让写入操作以root权限执行 - 所有apt安装操作都加了sudo,同时加了
-y参数开启非交互模式,不会触发交互式确认提示,适配无tty的shell环境
安装验证
运行以下Python代码验证安装结果:
import pyodbc # 打印所有已注册的ODBC驱动 print(pyodbc.drivers())
如果输出结果中包含ODBC Driver 17 for SQL Server,说明安装配置成功,可以正常连接SQL Server。
长期使用建议
如果需要集群所有节点都默认支持pyodbc连接SQL Server,可以将上述安装脚本保存为集群初始化脚本,配置到集群后每次启动都会自动执行安装,无需每次在notebook中手动运行。
内容的提问来源于stack exchange,提问作者Tapan
相关产品推荐
相关产品推荐

