我可以通过snowsql
和使用相同凭据的浏览器成功访问Snowflake。然而,这些凭证不能与odbc-mac指南中列出的驱动程序一起工作。当我根据"步骤3:测试ODBC驱动程序"进行测试时;我得到了以下经验:
$ "/Library/Application Support/iODBC/bin/iodbctest"
iODBC Demonstration program
This program shows an interactive SQL processor
Driver Manager: 03.52.1521.0607
Enter ODBC connect string (? shows list): dsn=SnowflakeDSII;pwd=[pwd]
OOB curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)
OOB curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)
OOB curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)
OOB curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)
OOB curl_easy_perform() failed: Problem with the SSL CA cert (path? access rights?)
1: SQLDriverConnect = [Snowflake][DSI] An error occurred while attempting to retrieve the error message for key 'SFRestRequestFailed' with message parameters ['[host]:443/session/v1/login-request?requestId=[id]&request_guid=[guid]&databaseName=[db_name]&warehouse=[wh]&roleName=[role]', 'CURLerror (curl_easy_perform() failed) - code=77 msg='Problem with the SSL CA cert (path? access rights?)' osCode=2 osMsg='No (-1) SQLSTATE=HY000
1: ODBC_Connect = [Snowflake][DSI] An error occurred while attempting to retrieve the error message for key 'SFRestRequestFailed' with message parameters ['[host]:443/session/v1/login-request?requestId=[id]&request_guid=[guid]&databaseName=[db]&warehouse=[wh]&roleName=[role]', 'CURLerror (curl_easy_perform() failed) - code=77 msg='Problem with the SSL CA cert (path? access rights?)' osCode=2 osMsg='No (-1) SQLSTATE=HY000
myodbc.ini
file is
[ODBC Data Sources]
SnowflakeDSII = Snowflake
[SnowflakeDSII]
Server = [host account].[aws region].snowflakecomputing.com
UID = [user]
Role = [role]
Database = [db]
Warehouse = [warehouse]
Driver = /opt/snowflake/snowflakeodbc/lib/universal/libSnowflake.dylib
也……
- 我安装了驱动程序:
snowflake_odbc_mac_arm64-2.25.0.dmg
- 我必须手动
mkdir universal
和cp lib/libSnowflake.dylib lib/universal/libSnowflake.dylib
- (以及错误文件)
感谢您的宝贵时间!
更新还注意系统找不到以下错误文件:
"exceptionMessage": "CURLerror (curl_easy_perform() failed) - code=77 msg='Problem with the SSL CA cert (path? access rights?)' osCode=2 osMsg='No such file or directory'",
"request": "https://[host].us-east-1.snowflakecomputing.com:443/session/v1/login-request?requestId=b5ebf406-989e-4aab-a043-6b4b656961cd&request_guid=8b68691f-db12-44c3-9a91-1fc685cd87a5&databaseName=[db]&warehouse=[wh]&roleName=[role]",
"sqlState": "HY000"
- "/opt/雪花/snowflakeodbc/lib/通用/en - us/SFMessages.xml"
- "/opt/雪花/snowflakeodbc/lib/通用/SFMessages_en-US.xml"
所以我touched
他们,但然后错误说他们是'空'
问题是系统需要在/lib/universal
中的许多文件不存在。
解决方案是sym链接,或者从/opt/snowflake/snowflakeodbc
移动它们例如:
# I found
/opt/snowflake/snowflakeodbc/lib/universal/en-US/SFMessages.xml
/opt/snowflake/snowflakeodbc/ErrorMessages
也
/opt/snowflake/snowflakeodbc/lib/cacert.pem
# needed to be moved to
/opt/snowflake/snowflakeodbc/lib/univeral/cacert.pem
谢谢@Sergiu的日志指导!