无法通过 unixODBC 连接到 Snowflake。错误:[S1000][unixODBC][Snowflake][ODBC] (11560) 无法找到 SQLGetPrivateProfileString 函数

jus*_*ach 5 unixodbc snowflake-cloud-data-platform ubuntu-18.04

我已按照此处的说明安装/配置了驱动程序:

https://docs.snowflake.net/manuals/user-guide/odbc-linux.html#installing-and-configuring-the-odbc-driver-for-linux

出现错误:[S1000][unixODBC][Snowflake][ODBC] (11560) 无法找到 SQLGetPrivateProfileString 函数。

我发现一篇文章说要安装并使用另一个驱动程序(libodbcinst.so.2),但这也不起作用。

我使用的是 Ubuntu 18.04

这是调试:

$ isql -v snowflake_dev my_username my_password
2020-01-02T20:48:43.123 INFO  4442 Snowflake::Client::IFileTransferAgent.cpp::: External logger injected. libsnowflakeclient version: 0.4.2
Jan 02 20:48:43 INFO  2785285952 SharedSingletonManager::LogVersions: SDK Version: 10.01.15.1109
Jan 02 20:48:43 INFO  2785285952 SharedSingletonManager::LogVersions: DSII Version: 2.20.2
Jan 02 20:48:43 INFO  2785285952 Driver::Initialize: Database CHAR Encoding: UTF-8
Jan 02 20:48:43 INFO  2785285952 Driver::Initialize: Database WCHAR Encoding: UTF-32LE
Jan 02 20:48:43 INFO  2785285952 Driver::Initialize: Driver ANSI CHAR Encoding: UTF-8
Jan 02 20:48:43 INFO  2785285952 Driver::Initialize: Driver Manager WCHAR Encoding: UTF-16LE
Jan 02 20:48:43 INFO  2785285952 Driver::Initialize: Detected Driver Manager: unixODBC, 2.2.14 or 2.3.x branch
Jan 02 20:48:43 INFO  2785285952 Driver::Initialize: Locale name: en_US
Jan 02 20:48:43 INFO  2785285952 Driver::Initialize: Bitness: 64-bit
Jan 02 20:48:43 INFO  2785285952 CInterface::SQLAllocHandle: Allocating environment handle.
Jan 02 20:48:43 INFO  2785285952 Environment::SQLSetEnvAttr: Attribute: SQL_ATTR_ODBC_VERSION (200)
Jan 02 20:48:43 INFO  2785285952 EnvironmentAttributes::SetAttribute: Setting ODBC version to: 2
Jan 02 20:48:43 INFO  2785285952 Environment::SQLGetEnvAttr: Attribute: SQL_ATTR_ODBC_VERSION (200)
Jan 02 20:48:43 INFO  2785285952 CInterface::SQLAllocHandle: Allocating connection handle.
Jan 02 20:48:43 INFO  2785285952 ConnectionSettings::ConnectionSettings: DSN = "snowflake_dev"
Jan 02 20:48:43 INFO  2785285952 ConnectionSettings::ConnectionSettings: UID = "*****"
Jan 02 20:48:43 INFO  2785285952 ConnectionSettings::ConnectionSettings: PWD specified.
Jan 02 20:48:43 DEBUG 2785285952 BinaryFile::BinaryFile: opening file "/var/snowflake_odbc/ErrorMessages/en-US/ODBCMessages.xml" with openmode=OPENMODE_READONLY
Jan 02 20:48:43 ERROR 2785285952 Connection::SQLConnectW: [Snowflake][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function.
Jan 02 20:48:43 INFO  2785285952 CInterface::SQLFreeHandle: Freeing connection handle.
Jan 02 20:48:43 INFO  2785285952 CInterface::SQLFreeHandle: Freeing environment handle.
[S1000][unixODBC][Snowflake][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function.
[ISQL]ERROR: Could not SQLConnect
Run Code Online (Sandbox Code Playgroud)

jus*_*ach 6

问题是我的 simba.snowflake.ini 文件中的 ODBCInstLib 配置错误,需要更改为: ODBCInstLib=/usr/lib/x86_64-linux-gnu/libodbcinst.so