"Unable to locate SQLGetPrivateProfileString function" 在 Ubuntu 22 上使用 Snowflake ODBC



我之前已经在Ubuntu 20(Focal(上成功安装了Snowflake ODBC驱动程序,它运行良好。在新的Ubuntu22(Jammy(系统上安装了相同的软件包后,Snowflake ODBC驱动程序拒绝连接,并出现以下错误:

$ isql -v snowflake-dev <redacted> <redacted>
[S1000][unixODBC][Snowflake][ODBC] (11560) Unable to locate SQLGetPrivateProfileString function.
[ISQL]ERROR: Could not SQLConnect

同样的命令在Ubuntu 20上运行良好。

以下是我的配置文件的相关部分(当然在两个系统上是相同的(:

/etc/odbc.ini:

[snowflake-dev]
Description=SnowflakeDB
Driver=SnowflakeDSIIDriver
Locale=en-US
SERVER=<redacted>.east-us-2.azure.snowflakecomputing.com
PORT=443
SSL=on
ACCOUNT=<redacted>

/etc/odbcinst.ini:

[SnowflakeDSIIDriver]
APILevel=1
ConnectFunctions=YYY
Description=Snowflake DSII
Driver=/usr/lib/snowflake/odbc/lib/libSnowflake.so
DriverODBCVer=03.52
SQLLevel=1
UsageCount=1

并且驱动程序文件确实存在于该目录中:

$ ls -l /usr/lib/snowflake/odbc/lib/libSnowflake.so*
-rwxr-xr-x 1 root root 177405464 Aug  1 15:14 /usr/lib/snowflake/odbc/lib/libSnowflake.so
$ file /usr/lib/snowflake/odbc/lib/libSnowflake.so*
/usr/lib/snowflake/odbc/lib/libSnowflake.so: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=61282db74b8db4d446540d7f53458245a6ef6997, with debug_info, not stripped

我是不是错过了一些重要的东西?Ubuntu22上有没有以前没有的新需求?

我发现文件/usr/lib/x86_64-linux-gnu/libodbcinst.so.1在我的系统中不存在。我将文件<snowflake path>/lib/simba.snowflake.ini改为指向/usr/lib/x86_64-linux-gnu/libodbcinst.so.2,现在它可以工作了。

最新更新