Linux系统如何获取Snowflake 32bit ODBC驱动并完成连接
Linux环境获取并使用32位Snowflake ODBC驱动说明
首先明确基础信息:Snowflake官方原生提供的Linux版ODBC驱动仅支持64位架构,你安装的snowflake-odbc-2.21.3.x86_64.rpm本身就是64位专用安装包,自然只能检索到64位的libSnowflake.so文件。你看到的同时支持32/64位的是第三方厂商封装的Snowflake ODBC驱动,并非Snowflake官方原生版本。
对应解决方案可按需求选择:
方案1:使用第三方32位ODBC驱动
- 下载对应Linux平台的32位第三方Snowflake ODBC驱动安装包,注意选择
i686/x86_32架构的rpm/deb安装包,不要选错为x86_64版本 - 提前安装系统32位ODBC运行时依赖:RHEL/CentOS系执行命令
yum install unixODBC.i686,Debian/Ubuntu系执行apt install libodbc1:i386 - 驱动安装完成后,在
/etc/odbcinst.ini配置文件中添加32位驱动条目,指定的驱动库路径需对应32位版本的.so文件 - 在
odbc.ini中配置Snowflake连接DSN,账户、区域、仓库、认证信息等参数和64位配置规则完全一致 - 使用32位的
isql工具执行isql <你的DSN名称>即可验证连接可用性
方案2:必须使用官方原生驱动的折中方案
如果业务要求必须使用Snowflake官方原生驱动,官方暂无直接可用的32位Linux版本,可采用以下替代方案:
- 部署64位中间代理服务,安装官方64位ODBC驱动,对外封装标准化的查询接口,32位应用通过调用接口间接访问Snowflake
- 应急场景可在32位容器或chroot环境中通过Wine运行Windows版32位Snowflake ODBC驱动,转接访问Snowflake,该方案兼容性较低,不建议长期使用
提示:目前主流Linux发行版已经基本停止对32位架构的官方维护,驱动兼容性问题会逐步增多,建议优先评估将相关应用迁移到64位架构,降低后续维护成本。
内容的提问来源于stack exchange,提问作者daisy
相关产品推荐
相关产品推荐

