RODBC no reconoce mi configuración odbc

Estoy ejecutando R 2.15.2 en un servidor Red Hat Linux 6. Mi objetivo es conectarme a una base de datos de MS SQL Server en otra máquina a través de RODBC. Hice mi investigación y descargué e instalé la versión de Linux del controlador ODBC de MS SQL deel sitio web de soporte de microsoft. Yo construí unixODBC versión 2.3.0 desde la fuente, ya que es requerido por el controlador de Windows y aún no está en los repositorios de RHL (la versión repo es 2.2.14).

De todos modos, después de un poco de trabajo, finalmente instalé el controlador y lo configuré correctamente, y puedo conectarme con éxito a la base de datos de SQL Server a través de unisql mando:

$ isql -v test testuser testpass
+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>

así que sé que tengo miodbc.ini yodbcinst.ini archivos correctamente configurados.

Sin embargo, cuando intento acceder a la conexión ODBC desde R, ocurre lo siguiente:

> test <- odbcDriverConnect('DSN=test;Database=RSQLTest01;Uid=testuser;Pwd=testpass')
Warning messages:
1: In odbcDriverConnect("DSN=test;Database=RSQLTest01;Uid=testuser;Pwd=testpass") :
   [RODBC] ERROR: state IM002, code 0, message [unixODBC][Driver Manager]Data 
   source name not found, and no default driver specified
2: In odbcDriverConnect("DSN=test;Database=RSQLTest01;Uid=testuser;Pwd=testpass") :
   ODBC connection failed

Aquí está el resultado de laodbcDataSources comando en R:

> odbcDataSources()
named character(0)

He estado investigando y creo que la solución (aunque podría estar equivocada) puede tener algo que ver con la configuración adecuada de las variables de entorno ODBC para que RODBC sepa dónde ir para encontrarodbc.ini. Según mi investigación, encontré las siguientes variables de entorno que pueden ser relevantes:$ODBCINI, $ODBCSYSINI, $ODBC_ROOT $ODBC_INCLUDE, and $ODBC_LIBS. Tengo una idea razonable de a qué se debe configurar, pero no estoy seguro de cómo configurarlos permanentemente, y para que RODBC pueda reconocer dónde encontrar los archivos apropiados.

¿Alguien puede arrojar algo de luz sobre esto para mí? No estoy seguro de entender correctamente cómo funcionan las variables de entorno en Linux, y particularmente por quéisql no tiene problemas para conectarse, peroRODBC Ni siquiera puedo encontrar el controlador / fuente de datos.

NOTA: cuando tenía instalada la versión repo de unixODBC, RODBC se instalaría bien usando elinstall.packages('RODBC') comando en R. Sin embargo, después de instalar unixODBC 2.3.0 desde la fuente, la instalación de RODBC fallaría debido a un problema de dependencia, y tuve que instalar RODBC desde la fuente usando elguía publicada aquí. ¿Es posible que no haya configurado ODBC correctamente para empezar y por eso tengo problemas ahora?

Respuestas a la pregunta(4)

Su respuesta a la pregunta