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

如何在指定配置的Databricks集群安装ODBC Driver 17 for SQL Server?

问题描述
  • 连接SQL Server时的错误:

Error: ('01000', "[01000] [unixODBC][Driver Manager]Can't open lib 'ODBC Driver 17 for SQL Server' : file not found (0) (SQLDriverConnect)")

  • 尝试安装ODBC驱动的命令:
curl https://packages.microsoft.com/keys/microsoft.asc | apt-key add -
curl https://packages.microsoft.com/ubuntu/22.04/prod > /etc/apt/sources.list.d/mssql-release.list
sudo apt update
sudo apt-get install -y msodbcsql17
  • 安装时的报错信息:

% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 983 100 983 0 0 10611 0 --:--:-- --:--:-- --:--:-- 10684
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
E: This command can only be used by root.
bash: line 2: /etc/apt/sources.list.d/mssql-release.list: Permission denied
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: a password is required
sudo: a terminal is required to read the password; either use the -S option to read from standard input or configure an askpass helper
sudo: a password is required

  • 集群配置:

Summary
1-2 Workers 14-28 GB Memory
4-8 Cores 1
Driver 14 GB Memory, 4 Cores
Runtime 14.3.x-scala2.12
Unity Catalog, Standard_DS3_v2, 1–3 DBU/h

解决方案

方法1:集群初始化脚本(推荐)

Databricks集群启动时会以root权限执行初始化脚本,可一次性在所有节点(Driver+Workers)安装驱动,且重启集群后仍生效:

  1. 创建脚本文件install_odbc_driver.sh,内容如下:
#!/bin/bash

# 添加Microsoft GPG密钥(适配apt-key废弃后的新规范)
curl https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg

# 添加SQL Server软件源
curl https://packages.microsoft.com/ubuntu/22.04/prod > /etc/apt/sources.list.d/mssql-release.list

# 更新源并自动接受协议安装驱动
apt-get update
ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev
  1. 将脚本上传到DBFS,比如路径为dbfs:/databricks/scripts/install_odbc_driver.sh。
  2. 编辑集群配置,在高级选项→初始化脚本中添加上述DBFS路径,重启集群即可完成安装。

方法2:笔记本临时安装(仅测试用)

若仅需临时在当前节点安装,可修改命令解决权限问题,但集群重启后会失效:

%sh
# 用sudo -S绕过终端密码要求,Databricks节点默认sudo无需密码
echo "" | sudo -S curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor > /etc/apt/trusted.gpg.d/microsoft.gpg
echo "" | sudo -S curl https://packages.microsoft.com/ubuntu/22.04/prod > /etc/apt/sources.list.d/mssql-release.list
echo "" | sudo -S apt update
echo "" | sudo -S ACCEPT_EULA=Y apt-get install -y msodbcsql17 unixodbc-dev

验证安装结果

运行以下命令确认驱动是否安装成功:

%sh
odbcinst -q -d -n "ODBC Driver 17 for SQL Server"

若输出驱动的配置信息,说明安装完成。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.23 18:51:05