Del error podemos ver que está utilizando unixODBC y supongo que "DSI" es lo que Vertica llama a sí mismo como texto de error ODBC formateado con entradas en [] de izquierda a derecha como la ruta a través de los diferentes componentes (ver Example diagnostic messages)
Supongo que el mensaje debería ser "No se pudo encontrar SQLGetPrivateprofileString". SQLGetPrivateProfileString es una API proporcionada por el administrador de controladores ODBC para leer entradas del archivo odbc.ini. Creo que debería encontrarse en el objeto compartido libodbcinst.so, sin embargo, algunas distribuciones (por ejemplo, Ubuntu/Debian) quitan símbolos de objetos compartidos, por lo que es difícil verificar esto.
En su DSN, el controlador es el archivo "/opt/vertica/lib/libverticaodbc_unixodbc.so". Aunque es más habitual nombrar el controlador en odbc.ini y agregar una entrada al archivo odbcinst.ini, su DSN se ve bien. por ejemplo:
/etc/odbcinst.ini:
[Easysoft ODBC-SQL Server SSL]
Driver=/usr/local/easysoft/sqlserver/lib/libessqlsrv.so
Setup=/usr/local/easysoft/sqlserver/lib/libessqlsrvS.so
Threading=0
FileUsage=1
DontDLClose=1
/etc/odbc.ini:
[SQLSERVER_SAMPLE_SSL]
Driver=Easysoft ODBC-SQL Server SSL
Description=Easysoft SQL Server ODBC driver
.
.
ver en el ejemplo anterior hacerlo de esta manera le permite especificar opciones adicionales asociados con el conductor como el roscado (y una búsqueda rápida en la red sugiere Vertica puede utilizar roscar = 1, que es menos restrictiva si usando un programa enhebrado) y DontDLClose. Sin embargo, como dije, las cosas deberían funcionar como las tienes ahora.
Ahora el siguiente bit depende de su plataforma y no me di cuenta si especificó uno. Debe examinar ese objeto compartido para su controlador ODBC y ver de qué depende. En Linux se hace algo como esto:
$ ldd /usr/local/easysoft/sqlserver/lib/libessqlsrv.so
linux-gate.so.1 => (0xb76ff000)
libodbcinst.so.1 => /usr/lib/libodbcinst.so.1 (0xb75fe000)
libesextra_r.so => /usr/local/easysoft/lib/libesextra_r.so (0xb75fb000)
libessupp_r.so => /usr/local/easysoft/lib/libessupp_r.so (0xb75de000)
libeslicshr_r.so => /usr/local/easysoft/lib/libeslicshr_r.so (0xb75cd000)
libestdscrypt.so => /usr/local/easysoft/lib/libestdscrypt.so (0xb75c8000)
libm.so.6 => /lib/libm.so.6 (0xb75a2000)
libc.so.6 => /lib/libc.so.6 (0xb7445000)
libltdl.so.7 => /usr/lib/libltdl.so.7 (0xb743b000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb7421000)
/lib/ld-linux.so.2 (0xb7700000)
libdl.so.2 => /lib/libdl.so.2 (0xb741d000)
que muestra este controlador ODBC depende de libodbcinst.so.1 y el enlazador dinámico encontramos. Me imagino que su controlador Vertica debería tener un aspecto similar a este respecto, aunque es posible que el controlador Vertica cargue dinámicamente este objeto compartido la primera vez que se cargue. De cualquier forma, parece que el controlador Vertica no puede encontrar el símbolo SQLGetPrivateProfileString que está en libodbcinst.so así que asegúrese de que a) tenga libodbcinst.so b) su enlazador dinámico lo sepa (cómo se hace esto depende de su plataforma - en Linux vea /etc/ld.so.conf y LD_LIBRARY_PATH y la página man para ld.so) c) ejecute ldd (o equivalente) en él para que no haya dependencias faltantes.
El archivo vertica.ini es probablemente donde el controlador almacena la configuración específica del controlador; algunos controladores hacen esto. Si el formato de este archivo es similar al odbc anterior, también puede usar SQLGetPrivateProfileString para este archivo, ya que puede indicarle qué API ODBC debe usar.
Más allá de esto, no tengo más ideas que contactar con vertica.
Qué versiones del controlador de base de datos y Vertica se ejecuta? Además, normalmente no especifico la configuración regional en mis conexiones ODBC. ¿Estás seguro de que lo necesitas? Esto parece más un error de localización que un error del usuario para mí, pero podría estar equivocado. – bpanulla
Lo eliminé en vano. Estoy usando el controlador vertica_5.1.1_odbc_i386_linux vertica en este momento. Rastreé la instrucción isql pero sigue buscando el archivo vertica.ini. ¿Hay algún archivo de este tipo? Sí, parece que lo encuentro –