在 Ubuntu 6.2 操作系统上尝试使用 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
如果 libmaodbc.so 存在,但驱动程序管理器抱怨找不到文件 (ENOENT),则意味着无法加载 libmaodbc.so 的一个或多个依赖项,例如libssl 或 libmariadb(连接器/C)。
要检查缺少的内容,请尝试
ldd libmaodbc.so
或使用 strace 检查。