在Debian 12树莓派上无法安装msodbcsql17组件求助
解决树莓派Debian 12安装msodbcsql17找不到包的问题
问题原因
微软官方Debian 12软件源中的msodbcsql17仅支持amd64架构,而树莓派采用armhf/arm64架构,因此apt无法定位到对应包。
解决方法
方案一:使用FreeTDS替代微软ODBC驱动(推荐)
FreeTDS是开源的SQL Server兼容驱动,完美支持arm架构,可配合pyodbc实现连接:
- 安装依赖组件:
sudo apt-get update && sudo apt-get install -y unixodbc unixodbc-dev freetds-dev freetds-bin - 配置ODBC驱动:
编辑/etc/odbcinst.ini,添加FreeTDS驱动配置:[FreeTDS] Description = FreeTDS Driver for SQL Server Driver = /usr/lib/arm-linux-gnueabihf/libtdsodbc.so # 若为arm64架构,路径改为/usr/lib/aarch64-linux-gnu/libtdsodbc.so Setup = /usr/lib/arm-linux-gnueabihf/libtdsS.so FileUsage = 1 - 配置数据源(可选):
编辑/etc/odbc.ini,添加SQL Server连接配置:[MSSQL] Driver = FreeTDS Server = 你的SQL Server地址 Port = 1433 Database = 目标数据库名 TDS_Version = 7.4 - 测试连接:
连接成功后,即可在pyodbc中通过isql -v MSSQL 你的SQL用户名 你的SQL密码pyodbc.connect('DSN=MSSQL;UID=用户名;PWD=密码')建立连接。
方案二:尝试安装微软ODBC 18驱动
部分架构下微软提供了ODBC 18的arm版本,可尝试执行:
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
若仍提示找不到包,则说明该架构无官方支持,建议使用方案一。
额外检查
查看已添加的微软源是否限制了架构:
cat /etc/apt/sources.list.d/mssql-release.list
若输出中包含[arch=amd64],说明仅拉取amd64包,arm架构无法使用,可删除该源后采用方案一。
内容的提问来源于stack exchange,提问作者George
相关产品推荐
相关产品推荐

