在Ubuntu 6.2 OS上尝试使用ODBC连接连接到MariaDB时收到以下错误消息。我什么都试过了,但都不管用
错误代码:
Can't open lib '/usr/lib64/libmaodbc.so' : file not found
操作系统:
Linux ubuntu 6.2.0-1013-raspi #15-Ubuntu SMP PREEMPT Fri Sep 8 18:53:11 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux
文件权限:
root@ubuntu:/usr/lib64# ls -l
total 2316
-rwxrwxrwx 1 root root 2365512 Sep 24 19:07 libmaodbc.so
关于Libmaodbc.so文件的信息:
readelf -l /usr/lib64/libmaodbc.so
Elf file type is DYN (Shared object file)
Entry point 0x172d0
There are 7 program headers, starting at offset 64
ODBC设置:
odbcinst -j
unixODBC 2.3.11
DRIVERS............: /etc/odbcinst.ini
SYSTEM DATA SOURCES: /etc/odbc.ini
FILE DATA SOURCES..: /etc/ODBCDataSources
USER DATA SOURCES..: /root/.odbc.ini
SQLULEN Size.......: 8
SQLLEN Size........: 8
SQLSETPOSIROW Size.: 8
cat /etc/odbcinst.ini
[MariaDB]
Description=MariaDB
Driver=/usr/lib64/libmaodbc.so
UsageCount=4
测试:
isql -v -k "DRIVER={MariaDB};127.0.0.1;UID=admin;PWD=password"
[01000][unixODBC][Driver Manager]Can't open lib '/usr/lib64/libmaodbc.so' : file not found
[ISQL]ERROR: Could not SQLDriverConnect
2条答案
按热度按时间eoxn13cs1#
如果libmaodbc.so存在,但驱动程序管理器抱怨找不到文件(dlopen返回NULL,errno=ENOENT),这意味着无法加载libmaodbc.so的一个或多个依赖项,例如。libssl或libmariadb(连接器/C)。
要检查缺少的内容,请尝试
其他选项是
f1tvaqid2#
已通过将ODBC驱动程序的正确体系结构安装到系统上解决此问题。我在aarch64系统上运行ubuntu,所以我安装了aarch版本的ODBC驱动程序,而不是使用64位版本。