[unixODBC-support] Defining DSN and Driver

Rich Shepard rshepard at appl-ecosys.com
Tue Jan 20 17:59:12 GMT 2015


On Tue, 20 Jan 2015, Nick Gorham wrote:

> At this point, try using strace to see if the drive is connecting and where 
> it fails
> strace -o st.log isql -v no-mdf-banquetdb

   Looks like the problem is that isql is looking in /usr/local/eclipse/ and
I have neither /etc/ld.so.preload nor a /usr/local/eclipse/ subdirectory here:

execve("/usr/bin/isql", ["isql", "-v", "no-mdf-banquetdb"], [/* 49 vars */]) = 
0
brk(0)                                  = 0x983f000
mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 
0xb7735000
access("/etc/ld.so.preload", R_OK)      = -1 ENOENT (No such file or directory)
open("/usr/local/eclipse/tls/i686/sse2/libodbc.so.2", O_RDONLY|O_CLOEXEC) = -1 
ENOENT (No such file or directory)
stat64("/usr/local/eclipse/tls/i686/sse2", 0xbff6c900) = -1 ENOENT (No such 
file or directory)
open("/usr/local/eclipse/tls/i686/libodbc.so.2", O_RDONLY|O_CLOEXEC) = -1

   Here, libodbc.so.2 is installed in /usr/lib/, as follows;

open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
fstat64(3, {st_mode=S_IFREG|0644, st_size=197432, ...}) = 0
mmap2(NULL, 197432, PROT_READ, MAP_PRIVATE, 3, 0) = 0xb7704000
close(3)                                = 0
open("/usr/lib/libodbc.so.2", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0000=\0\0004\0\0\0"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=442368, ...}) = 0
mmap2(NULL, 444036, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7697000
mmap2(0xb76ff000, 16384, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x68000) = 0xb76ff000
mmap2(0xb7703000, 1668, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7703000
close(3)                                = 0

open("/usr/lib/qt/lib/libreadline.so.5", O_RDONLY|O_CLOEXEC) = -1 ENOENT (No 
such file or directory)

   Here, it's /usr/lib/libreadline.so.5, found below:

open("/usr/lib/libreadline.so.5", O_RDONLY|O_CLOEXEC) = 3
read(3, "\177ELF\1\1\1\0\0\0\0\0\0\0\0\0\3\0\3\0\1\0\0\0`\273\0\0004\0\0\0"..., 
512) = 512
fstat64(3, {st_mode=S_IFREG|0755, st_size=193020, ...}) = 0
mmap2(NULL, 195668, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 
0xb7667000
mmap2(0xb7692000, 16384, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x2b000) = 0xb7692000
mmap2(0xb7696000, 3156, PROT_READ|PROT_WRITE, 
MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0xb7696000
close(3)                                = 0

   It turns out that I do have an issue with libncurses: /lib/libncurses.so
is a softlink to /lib/libncurses.so.5, which is a softlink to
/lib/libncurses.so. Circular links! Let me straighten this out first.

> I would also check if the database exists and can be opened.
> ls -l /documents/mdf/banquet-mgr/or-mdf-banquet.db

   No problem opening it with sqlite3. And, the perms are 644.

Rich


More information about the unixODBC-support mailing list