在Amazon Linux 2的SageMaker实例安装SQL Server驱动并解决连接报错
在AWS SageMaker笔记本实例安装MS SQL Server驱动解决连接问题
1. 安装unixODBC依赖
pyodbc依赖unixODBC驱动管理器,先完成这一步:
针对Amazon Linux 2实例
执行以下命令:
sudo yum install -y unixODBC unixODBC-devel
针对Ubuntu实例
执行以下命令:
sudo apt-get update && sudo apt-get install -y unixodbc unixodbc-dev
2. 安装MS SQL Server ODBC驱动
根据你的SageMaker实例操作系统选择对应步骤:
Amazon Linux 2安装步骤
- 导入微软GPG密钥:
sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
- 添加微软SQL Server软件源:
sudo curl -o /etc/yum.repos.d/mssql-release.repo https://packages.microsoft.com/config/rhel/8/prod.repo
- 安装ODBC驱动17版本:
sudo yum install -y msodbcsql17
Ubuntu安装步骤
- 导入微软GPG密钥:
curl https://packages.microsoft.com/keys/microsoft.asc | sudo apt-key add -
- 添加微软SQL Server软件源:
curl https://packages.microsoft.com/config/ubuntu/20.04/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list
- 更新包列表并安装驱动(自动接受许可协议):
sudo apt-get update && sudo ACCEPT_EULA=Y apt-get install -y msodbcsql17
3. 修正数据库连接代码
Linux环境下不支持Windows集成认证(Trusted_Connection=True),且驱动名称与Windows不同,需要修改连接字符串:
import pyodbc connection = pyodbc.connect( 'Driver={ODBC Driver 17 for SQL Server};' 'Server=sname;' 'Database=dbname;' 'UID=你的数据库用户名;' 'PWD=你的数据库密码;' ) cursor = connection.cursor()
内容的提问来源于stack exchange,提问作者kgh
相关产品推荐
相关产品推荐

