linux Ubuntu 6.2 and MariaDB ODBC Error Can't open lib '/usr/lib64/libmaodbc.so':file not found

mmvthczy  于 2023-10-16  发布在  Linux
关注(0)|答案(2)|浏览(352)

在Ubuntu 6.2 OS上尝试使用ODBC连接连接到MariaDB时收到以下错误消息。我什么都试过了,但都不管用
错误代码:

  1. Can't open lib '/usr/lib64/libmaodbc.so' : file not found

操作系统:

  1. Linux ubuntu 6.2.0-1013-raspi #15-Ubuntu SMP PREEMPT Fri Sep 8 18:53:11 UTC 2023 aarch64 aarch64 aarch64 GNU/Linux

文件权限:

  1. root@ubuntu:/usr/lib64# ls -l
  2. total 2316
  3. -rwxrwxrwx 1 root root 2365512 Sep 24 19:07 libmaodbc.so

关于Libmaodbc.so文件的信息:

  1. readelf -l /usr/lib64/libmaodbc.so
  2. Elf file type is DYN (Shared object file)
  3. Entry point 0x172d0
  4. There are 7 program headers, starting at offset 64

ODBC设置:

  1. odbcinst -j
  2. unixODBC 2.3.11
  3. DRIVERS............: /etc/odbcinst.ini
  4. SYSTEM DATA SOURCES: /etc/odbc.ini
  5. FILE DATA SOURCES..: /etc/ODBCDataSources
  6. USER DATA SOURCES..: /root/.odbc.ini
  7. SQLULEN Size.......: 8
  8. SQLLEN Size........: 8
  9. SQLSETPOSIROW Size.: 8
  10. cat /etc/odbcinst.ini
  11. [MariaDB]
  12. Description=MariaDB
  13. Driver=/usr/lib64/libmaodbc.so
  14. UsageCount=4

测试:

  1. isql -v -k "DRIVER={MariaDB};127.0.0.1;UID=admin;PWD=password"
  2. [01000][unixODBC][Driver Manager]Can't open lib '/usr/lib64/libmaodbc.so' : file not found
  3. [ISQL]ERROR: Could not SQLDriverConnect
eoxn13cs

eoxn13cs1#

如果libmaodbc.so存在,但驱动程序管理器抱怨找不到文件(dlopen返回NULL,errno=ENOENT),这意味着无法加载libmaodbc.so的一个或多个依赖项,例如。libssl或libmariadb(连接器/C)。
要检查缺少的内容,请尝试

  1. ldd libmaodbc.so

其他选项是

  • 用strace运行isql
  • 调试:导出LD_DEBUG=libs; isql -v -k.
f1tvaqid

f1tvaqid2#

已通过将ODBC驱动程序的正确体系结构安装到系统上解决此问题。我在aarch64系统上运行ubuntu,所以我安装了aarch版本的ODBC驱动程序,而不是使用64位版本。

相关问题