我在运行Big Sur操作系统的M1芯片的苹果电脑上使用Snowflake的ODBC驱动遇到了问题。
按照Snowflake网站上的说明,我已经成功安装了驱动程序,并尝试通过命令行(使用iodbctest)测试DSN。然而,结果出现以下错误:
1: SQLDriverConnect = [iODBC][Driver Manager]dlopen(/opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib, 6): no suitable image found. Did find:
/opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib: no matching architecture in universal wrapper
/opt/snowfl (0) SQLSTATE=00000
2: SQLDriverConnect = [iODBC][Driver Manager]Specified driver could not be loaded (0) SQLSTATE=IM003
我的Snowflake驱动程序已安装在
/opt/snowflake/snowflakeodbc
,所以这是正确的--我怀疑这可能是M1的问题。我正在使用从此处下载的版本为2.24.1的驱动程序,并且在/etc/odbcinst.ini
中的驱动程序路径为/opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
(存在并且似乎根据我的所有研究应该是正确的)。当我在R中通过DBI运行连接时,我会得到完全不同的错误:
Error: nanodbc/nanodbc.cpp:1021: 00000:
[Snowflake][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function.
在其他 StackOverflow 帖子中,人们提到上述错误意味着缺少某种库(IODBC 配置不正确?),但我已尝试了许多东西,却没有任何效果。希望能提供一些指导。