I'm confused by the various different files and file names in the documentation. I'm trying to set up a dynamic query against an external MySQL database. I have relinked lsv to include the uodbc library, but I can't get my listserv to connect to the database and test my dynamic query. It isn't clear to me exactly what the relationship is between the go.user file and the home/sitecfg.file and where I should define my DYN_QUERY_CTS variable.
Can someone please give me some guidance. I've looked at all the documentation I could find, but I'm still confused. I thought I had it defined correctly, but when I try a "DEBUG QUERY QUERY(CTS)" I get a "Abstract: No DBMS driver available" error.
Here are what I think are the relevant lines from my home/sitecfg.file file:
DYN_QUERY_CTS TYPE=DBMS SERVER=CHO E-MAIL=mail NAME=full_name DBMS=ODBC SEARCH='select email from persons_person where role=''tech-staff'''
UODBC_AUTH [REDACTED]
UODBC_AUTH_CHO
[REDACTED]
UODBC_DSN listserv
UODBC_DSN_CHO listserv
UODBC_UID mice_read_only
UODBC_UID_CHO mice_read_only
export DYN_QUERY_CTS UODBC_AUTH_CHO UODBC_DSN_CHO UODBC_UID_CHO
And here is a list of the libraries used by lsv, showing that it is linked with the uodbc library:
$ ldd lsv
linux-vdso.so.1 (0x00007ffc9dfef000)
libldap_r-2.4.so.2 => /lib/x86_64-linux-gnu/libldap_r-2.4.so.2 (0x00007f8ea000d000)
liblber-2.4.so.2 => /lib/x86_64-linux-gnu/liblber-2.4.so.2 (0x00007f8e9fffc000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f8e9ffe0000)
libodbc.so.2 => /usr/local/lib/libodbc.so.2 (0x00007f8e9ff65000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f8e9fd73000)
libsasl2.so.2 => /lib/x86_64-linux-gnu/libsasl2.so.2 (0x00007f8e9fd56000)
libgssapi.so.3 => /lib/x86_64-linux-gnu/libgssapi.so.3 (0x00007f8e9fd0f000)
libgnutls.so.30 => /lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f8e9fb39000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f8e9fb16000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f8e9fb10000)
/lib64/ld-linux-x86-64.so.2 (0x00007f8ea006d000)
libheimntlm.so.0 => /lib/x86_64-linux-gnu/libheimntlm.so.0 (0x00007f8e9fb04000)
libkrb5.so.26 => /lib/x86_64-linux-gnu/libkrb5.so.26 (0x00007f8e9fa71000)
libasn1.so.8 => /lib/x86_64-linux-gnu/libasn1.so.8 (0x00007f8e9f9c8000)
libcom_err.so.2 => /lib/x86_64-linux-gnu/libcom_err.so.2 (0x00007f8e9f9c1000)
libhcrypto.so.4 => /lib/x86_64-linux-gnu/libhcrypto.so.4 (0x00007f8e9f989000)
libroken.so.18 => /lib/x86_64-linux-gnu/libroken.so.18 (0x00007f8e9f970000)
libp11-kit.so.0 => /lib/x86_64-linux-gnu/libp11-kit.so.0 (0x00007f8e9f83a000)
libidn2.so.0 => /lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f8e9f819000)
libunistring.so.2 => /lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f8e9f695000)
libtasn1.so.6 => /lib/x86_64-linux-gnu/libtasn1.so.6 (0x00007f8e9f67f000)
libnettle.so.7 => /lib/x86_64-linux-gnu/libnettle.so.7 (0x00007f8e9f645000)
libhogweed.so.5 => /lib/x86_64-linux-gnu/libhogweed.so.5 (0x00007f8e9f60e000)
libgmp.so.10 => /lib/x86_64-linux-gnu/libgmp.so.10 (0x00007f8e9f58a000)
libwind.so.0 => /lib/x86_64-linux-gnu/libwind.so.0 (0x00007f8e9f560000)
libheimbase.so.1 => /lib/x86_64-linux-gnu/libheimbase.so.1 (0x00007f8e9f54c000)
libhx509.so.5 => /lib/x86_64-linux-gnu/libhx509.so.5 (0x00007f8e9f4fe000)
libsqlite3.so.0 => /lib/x86_64-linux-gnu/libsqlite3.so.0 (0x00007f8e9f3d5000)
libcrypt.so.1 => /lib/x86_64-linux-gnu/libcrypt.so.1 (0x00007f8e9f39a000)
libffi.so.7 => /lib/x86_64-linux-gnu/libffi.so.7 (0x00007f8e9f38e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f8e9f23d000)
Note that I am able to use "isql listserv" as the user listserv to access the external database so I know that my uodbc definitions are working.
What am I missing?
Thanks,
Ari
--
Ari Rabinowitz
Systems Administrator
IT Infrastructure and Support
Computer Science Department
Columbia University
Tel: 212-853-8418