2012-03-30 11 views
7

¿Alguien sabe una forma de probar si una entrada odbc en el archivo odbc.ini está configurada correctamente?Prueba de la entrada ODBC en Unix

Me gustaría saber si mi servidor Linux se puede conectar a mi servidor SQL utilizando una entrada ODBC que configuré.

Respuesta

16

Si está utilizando unixODBC como el gestor de controladores ODBC a continuación, sólo hacer:

isql -v mydsn myusername mypassword 
1

El problema más común es que la configuración de la acumulación de origen predeterminado se establece en /usr/local/etc, no /etc, por lo que (como yo) se puede ver un buen archivo de configuración pero sin usar.

Para verificarlo, tan sólo ejecute

# odbc_config --odbcinstini 
/usr/local/etc/odbcinst.ini 

Un enlace simbólico sencillo resolverlo.

Otro problema puede ser una biblioteca faltante, que puede verificar ejecutando el ldd. por ejemplo:

# ldd /opt/microsoft/sqlncli/lib64/libsqlncli-11.0.so.1790.0 | grep "not found" 
     libodbcinst.so.1 => not found 

En este caso, tengo que poner el libodbcinst.so.1 en LD_LIBRARY_PATH o en cualquier directorio en uso por /etc/ld.so.conf. Si elige colocar directorios ld, no olvide ejecutar ldconfig como raíz después de él para actualizar el archivo ldd cache.

+0

¿Cómo se obtiene odbc_config en Ubuntu 16.04, @ton? –

+0

El odbc_config es proporcionado por el paquete unixODBC. Puede descargarlo desde http://sourceforge.net/projects/unixodbc/ ... Lo instalé manualmente y no sé si el sistema de gestión de paquetes apt lo proporciona. – ton

+0

Gracias @ton. No, parece que no está incluido en el paquete predeterminado. –

Cuestiones relacionadas