我在讓 Snowflake 的 ODBC 驅動程式在運行 Big Sur 的 M1 Apple Silicon Mac 上作業時遇到了問題。
成功地按照Snowflake 網站上的說明使我達到了這樣的程度:使用 DSN 從命令列(使用 iodbctest)測驗驅動程式的結果是以下錯誤:
1。 SQLDriverConnect = [/span>iODBC][Driver Manager]/span>dlopen(/opt/snowflake/snowflakeodbc/lib/universal/libSnowflake。 dylib, 6):沒有找到合適的影像。 已找到:
/opt/snowflake/snowflakeodbc。 operator">/lib/universal/libSnowflake. dylib:沒有匹配的架構in universal wrapper。
/opt/snowfl (0) SQLSTATE=00000
2: SQLDriverConnect = [iODBC][驅動程式管理器]指定的驅動程式無法加載 (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) 無法找到SQLGetPrivateProfileString函式。
在StackOverflow的其他帖子中,人們提到上述錯誤意味著缺少某種庫(IODBC沒有正確配置?),但我嘗試了很多方法都沒有用。任何指導將是偉大的。
uj5u.com熱心網友回復:
Big Sur是macOS v11.n
Snowflake支持macOS 10.14和10.15 支持的作業系統因此,你想做的事不被支持,而且不太可能成功
uj5u.com熱心網友回復:我們對這個問題進行了深入研究,并意識到這是.dmgs和amp的安裝路徑的一個偽命題;simba.snowflake.ini中的預設路徑。
您需要將 Snowflake 驅動程式指向 iODBC dylib(根據檔案中的一個(側擊宣告)[https://docs.snowflake.com/en/user-guide/odbc-mac.html#iodbc])--該驅動程式最初被配置為在路徑上的檔案夾中尋找 ODBC dylib(而不是 iODBC)。
當您安裝 iODBC 驅動程式時,請確認它被安裝到 /usr/local/iODBC(這是我的 Silicon Mac 安裝它的位置)--并且 /usr/local/iODBC/lib 中包含 libiodbc.dylib。如果是這樣,導航到您安裝的snowflake驅動目錄(應該是/etc/snowflake)并修改simba.snowflake.ini檔案(/etc/snowflake/snowflake/snowflakeodbc/universal/simba.snowflake.ini)。你要取消注釋&改變最后一行,使其同時取消注釋&用完整的路徑指向iODBC dylib(而不是默認的,即ODBC dylib)。
# Darwin specific ODBCInstLib
# iODBC
ODBCInstLib=/usr/local/iODBC/lib/libiodbcinst. 編碼
請確保注釋掉任何其他 ODBCInstLib 行,以便只配置一個。這應該能讓你在 M1 Mac 上啟動和運行與 snowflake 的連接。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/334060.html
標籤:
