我正在尝试测试作为共享库提供给我的ODBC驱动程序。我已将共享库放入/ usr / local / lib并在/etc/odbcinst.ini中添加了一个条目,并在/etc/odbc.ini中添加了一个连接条目(DSN)
尝试使用isql
命令测试此连接时,我得到以下内容
isql -v test
[01000][unixODBC][Driver Manager]Can't open lib '/usr/local/lib/splcODBC.so' : file not found
有趣的是,当我执行strace -o t isql -v test
时,我在跟踪文件中看到以下信息:
open("/usr/local/lib/splcODBC.so", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\2\1\1\3\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 \262R\0\0\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0644, st_size=15473838, ...}) = 0
mmap(NULL, 13298832, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x7fe2065a9000
mprotect(0x7fe206fcd000, 2093056, PROT_NONE) = 0
mmap(0x7fe2071cc000, 442368, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xa23000) = 0x7fe2071cc000
mmap(0x7fe207238000, 130192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x7fe207238000
close(3)
似乎表明找到并成功打开了文件 。
文件信息如下:
ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=0xa37555c3810ff5e5c78083139a3ca0232793a2e3, not stripped
有没有人有任何想法在这里发生了什么?