gpt4 book ai didi

sql - 使用 unixODBC 找不到 hive odbc 连接器错误消息

转载 作者:行者123 更新时间:2023-12-04 18:32:25 33 4
gpt4 key购买 nike

我正在尝试设置 unixodbc 以使用来自 cloudera 的配置单元驱动程序连接器(在 Ubuntu 机器中)。

在我的 ~/.local/lib 文件夹中,我有指向 cloudera 提供的 .so 文件的链接,
还有环境变量LD_LIBRARY_PATH包含 /home/luca/.local/lib:/opt/cloudera/hiveodbc/lib/64/ .

我创建了包含以下内容的文件/etc/odbcinst.ini:

[hive]
Description = Cloudera ODBC Driver for Apache Hive (64-bit)
Driver = /home/luca/.local/lib/libclouderahiveodbc64.so
ODBCInstLib= /home/luca/.local/lib/libodbcinst.so
UsageCount = 1
DriverManagerEncoding=UTF-16
ErrorMessagesPath=/opt/cloudera/hiveodbc/ErrorMessages/
LogLevel=0
SwapFilePath=/tmp

在我的主文件夹中,我有 .odbc.ini包含:
[hive]
Driver=hive
HOST=<thehost>
PORT=<theport>
Schema=<theschema>
FastSQLPrepare=0
UseNativeQuery=0
HiveServerType=2
AuthMech=2
#KrbHostFQDN=[Hive Server 2 Host FQDN]
#KrbServiceName=[Hive Server 2 Kerberos service name]
UID=<myuid>

当我使用 isql -v hive 测试连接时
我收到以下错误消息:
[S1000][unixODBC][DSI] The error message NoSQLGetPrivateProfileString could not be found in the en-US locale. Check that /en-US/ODBCMessages.xml exists.
[ISQL]ERROR: Could not SQLConnect

我该如何解决这个问题(为什么/en-US/的路径是绝对路径)?

最佳答案

在您的 ODBCInstLib 库中找不到 SQLGetPrivateProfileString。无法加载该库,或者该库不包含该符号。

使用strace isql -v hive 2>&1 | grep ini查看您的配置文件是否正在加载。使用strace isql -v hive 2>&1 | grep odbcinst.so看看它在哪里寻找图书馆。

确保该库存在于给定位置并具有正确的体系结构。使用file -L /home/luca/.local/lib/libodbcinst.so检查架构。使用nm /home/luca/.local/lib/libodbcinst.so | grep SQLGetPrivateProfilString检查它是否有正确的符号。

关于sql - 使用 unixODBC 找不到 hive odbc 连接器错误消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26252585/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com