Troubleshooting

SAS y ODBC: Resolver el error "Engine cannot be found" después de un cambio de PC

Simon 26/05/2018 6 views

Al migrar a una nueva computadora o realizar una nueva instalación, la configuración de las conexiones a las bases de datos es un paso crítico. Con frecuencia, una conexión ODBC, aunque probada y funcional en el administrador de Windows, se niega a ejecutarse correctamente dentro de SAS©.

Un caso clásico se refiere al error que indica que el motor (engine) no se puede encontrar, que a menudo ocurre al usar PROC SQL a través de ODBC.

El Síntoma

El escenario es el siguiente: acaba de configurar una nueva fuente de datos (DSN) para SQL Server en su máquina. La prueba de conexión en la herramienta de administración de ODBC de Windows es exitosa.

Sin embargo, cuando ejecuta su código SAS© habitual:

Illustration
1PROC SQL ;
2 connect to odbc as MonAlias (datasrc=MonDSN user=&username password=&passwrd);
3 create TABLE work.testtable as
4 select * from connection to MonAlias
5 (Select * from [database]);
6QUIT;
SAS© devuelve el siguiente mensaje de error:

ERROR: The TXEVER engine cannot be found. ERROR: A Connection to the TxEVER DBMS is not currently supported, or is not installed at your site.

Las Causas y Soluciones

Si su cadena de conexión no ha cambiado, el problema casi siempre está relacionado con el entorno de Windows o la arquitectura del software. Aquí están los dos puntos esenciales a verificar.

1. Compatibilidad de la arquitectura (32 bits vs. 64 bits)

Esta es la causa técnica más frecuente. Es imperativo que la arquitectura de su controlador ODBC coincida con la de su instalación de SAS©.

  • Si está utilizando SAS© de 64 bits, debe configurar su DSN y tener un controlador ODBC de 64 bits.

  • Si está utilizando SAS© de 32 bits, debe usar el controlador de 32 bits.

Nota: En Windows, hay dos administradores de fuentes de datos ODBC diferentes. Asegúrese de haber configurado su fuente de datos (DSN) en la versión del administrador que corresponde a su versión de SAS©.

2. El reinicio del sistema (El factor "Reboot")

A veces, la solución es mucho más simple. Después de configurar nuevas variables de entorno o nuevas fuentes ODBC del sistema en una máquina recién instalada, a veces estos cambios no son tenidos en cuenta inmediatamente por todos los servicios, o un conflicto temporal bloquea el acceso al controlador.

En varios casos documentados, un simple reinicio completo de la computadora es suficiente para "desbloquear" la situación. Si el reinicio clásico no funciona, puede ser necesario un "Cold Reboot" (apagado completo, esperar unos segundos y luego reiniciar) para restablecer correctamente los servicios de conexión.

Ante un error de "Engine cannot be found" en una máquina nueva:

  1. Verifique que no está intentando acceder a un DSN de 32 bits desde un SAS© de 64 bits (o viceversa).

  2. Si la arquitectura es correcta, reinicie su computadora. A menudo, este es el paso que falta después de una configuración inicial de ODBC.