¿Cómo solucionar el error de ejecución 3146 de MS Access “Error en la llamada ODBC”?
Resumen: El error de ejecución de Access 3146 - Falló la llamada ODBC se produce cuando se utiliza código VBA para acceder a la base de datos externa en Microsoft Access. Suele ocurrir cuando la conexión ODBC falla debido a consultas incorrectas, corrupción del archivo de base de datos o alguna otra razón. Este blog examina las posibles causas del error de ejecución 3146 en Access y los métodos de solución de problemas para solucionarlo. También conocerá una herramienta avanzada de reparación de Access que puede ayudarle a reparar el archivo de base de datos dañado de forma rápida y sencilla.
Muchos usuarios de Access utilizan el protocolo ODBC para conectar fuentes de datos a MS Access. El origen de datos contiene archivos, hojas de cálculo e información de conexión a la base de datos. Para conectar un origen de datos a Access, es necesario definir el nombre del origen de datos (DSN) y el controlador ODBC. Access no dispone de controladores integrados para conectarse a otras bases de datos externas como Oracle, SQL Server, MySQL Server, etc. Para ello, debe instalar un controlador ODBC adecuado que sea compatible con su sistema.
Si hay un problema con el controlador ODBC o la conexión ODBC no puede conectarse a un origen de datos, puede producirse el error de ejecución 3146 “Error en la llamada ODBC” en MS Access. El error también puede producirse si define el origen de datos directamente con el Administrador de controladores ODBC mediante un Código VBA. Suele ocurrir si se utiliza una consulta incorrecta para pasar la cadena de conexión o si hay otros problemas de Código.
Escenarios frecuentes de error de ejecución de MS Access 3146
Estos son algunos escenarios comunes en los que puede encontrarse con el error “ODBC Call Failed”:
- Cuando intentas abrir una tabla en la base de datos Access para editar un registro.
- Si intenta conectar Microsoft Access al servidor SQL a través del controlador ODBC.
- Si intenta abrir el archivo de base de datos Access en una red compartida.
- Si intenta importar datos de SQL Server a Microsoft Access mediante una conexión ODBC.
Causas del error “Error en la llamada ODBC” en Access
El error ODBC call failed indica un problema con la conexión ODBC en la base de datos Access. Aparte de esto, hay varias razones que pueden conducir a tal problema. Algunas de ellas son:
- El controlador ODBC (gestor de fuentes de datos ODBC) no es compatible con la versión de Access
- Archivo fuente de datos dañado
- No dispone de los permisos necesarios para acceder a la fuente de datos
- Problema con la conexión a la red
- Configuración incorrecta de la fuente de datos en el administrador de fuentes de datos ODBC.
- El archivo de base de datos Access está dañado
- El controlador ODBC no está instalado correctamente
- Las rutas incorrectas a la red común pueden provocar incoherencias
- Opción “Connection pooling” desactivada
- El cortafuegos de Windows bloquea la conexión entre MS Access y la fuente de datos externa.
- DSN (nombre de la fuente de datos) no definido o incorrecto
- Credenciales ODBC incorrectas
Métodos de solución de problemas para corregir el error “Error en la llamada ODBC” en Access
Puede recibir el mensaje de error Falló la conexión ODBC si su base de datos Access no tiene los permisos suficientes para utilizar el protocolo ODBC. Por lo tanto, asegúrese primero de que la base de datos deseada dispone de todos los permisos necesarios para realizar determinadas acciones a través de la conexión ODBC. Si no es así, pruebe los siguientes métodos para resolver el error.
Método 1: Comprobar el Código VBA
El error de ejecución de MS Access 3146 – Error en la llamada ODBC puede producirse si hay un problema con el Código VBA que utiliza para interactuar con la fuente de datos externa a través de una conexión ODBC. El error suele producirse al definir un nombre de origen de datos (DSN) con una cadena de conexión. Puede ocurrir cuando la cadena de conexión en el Código VBA no coincide con la configuración de la fuente de datos externa. Para solucionarlo, compruebe y corrija los problemas en el Código. Estos son los pasos:
- Abra la base de datos Access, vaya a Herramientas de base de datos y haga clic en la pestaña Visual Basic.
- Aparecerá el editor de Microsoft Visual Basic para Aplicaciones.
Compruebe el Código VBA y haga lo siguiente para solucionar el problema en el código:
- Asegúrese de utilizar la sintaxis correcta para la cadena de conexión.
- Comprueba el nombre de los objetos.
- Compruebe la sintaxis, las referencias y las consultas del Código.
Método 2: Comprobar las credenciales ODBC
El error Access ODBC call failed puede producirse cuando Access no puede autenticar el DSN (Data Source Name). Esto ocurre cuando la conexión ODBC falla debido a credenciales incorrectas o no coincidentes. Puede comprobar y cambiar las credenciales ODBC para solucionar el problema. Estos son los pasos:
- Abra la base de datos Access, haga clic en Datos externos y seleccione Base de datos ODBC.
- Aparecerá la ventana Recuperar datos externos – Base de datos ODBC. Haga clic en “Vincular a la fuente de datos creando una tabla vinculada”.
- En la ventana Seleccionar origen de datos, seleccione Origen de datos de máquina y haga clic en la opción Nuevo.
- En el cuadro de diálogo Crear nueva fuente de datos, haga clic en Servidor SQL y, a continuación, seleccione Siguiente.
- A continuación, haga clic en la opción Finalizar.
- En la ventana Crear un nuevo origen de datos en SQL Server, compruebe las credenciales y seleccione Siguiente.
Compruebe si se ha corregido el error 3146. Si no es así, compruebe la configuración de la base de datos de conexión ODBC.
Método 3: Comprobación de la conexión ODBC Configuración de la base de datos
El error Access ODBC Call Failed también puede producirse si la conexión ODBC no está configurada correctamente o si existen los siguientes problemas:
- Está utilizando un controlador ODBC incompatible.
- El archivo DSN está dañado.
- El DSN no está configurado correctamente.
- DSN no está referenciado a la base de datos correcta (cuando se utiliza una cadena de conexión en VBA).
Para solucionarlo, instale un controlador ODBC compatible y vuelva a crear el archivo DSN.
Método 4: Comprobar la configuración de red
El error de llamada ODBC fallida puede producirse cuando la conexión entre MS Access y la fuente de datos externa ha fallado al utilizar el protocolo ODBC. Suele producirse debido a una configuración incorrecta del cortafuegos y del software antivirus o de la red. Puede desactivar temporalmente el cortafuegos y el antivirus para solucionar el problema. También puede comprobar la conexión TCP activa y otra información relacionada con la red utilizando Símbolo del sistema. Estos son los pasos:
- Escriba cmd en el campo de búsqueda del sistema y pulse la tecla Intro.
- En la ventana de comandos, escriba netstat -n -a.
Se muestra la información de red, incluyendo la dirección IP, números de puerto, TCP, nombres de dominio completos, puertos monitorizados, protocolos y más. Compruebe la información de red. Si ha encontrado algún problema, reconfigure los ajustes de configuración de la red o póngase en contacto con su equipo informático.
Método 5: Activar la configuración de agrupación en el administrador de fuentes de datos ODBC
La opción “Connection Pooling” del controlador ODBC asegura las conexiones a la base de datos. Si la opción de pooling está desactivada, puede producirse el error “Error de conexión ODBC”. Puede abrir el Administrador de fuentes de datos ODBC para comprobar y activar la agrupación de conexiones. Para ello, siga los pasos que se indican a continuación:
- Abra el panel de control.
- Haga doble clic en la opción Herramientas administrativas de la ventana Panel de control.
- En la ventana Administración, busque el origen de datos ODBC (64 bits) y haga doble clic sobre él.
- Aparecerá la ventana Administrador de fuentes de datos ODBC. Vaya a la opción Connection Pooling y seleccione la opción “Enable ODBC connection Pooling PerfMon counters for troubleshooting”.
- Haga clic en Aceptar.
En la ventana Administrador de fuentes de datos ODBC, también puede comprobar la configuración de las pestañas Controlador, DSN de usuario, DSN de sistema y Controlador y asegurarse de que son correctas.
Método 6: Utilizar protocolos de seguimiento
La opción de rastreo ODBC proporciona un registro detallado de las trazas de la comunicación entre MS Access y otras fuentes de datos externas. Cuando la opción de rastreo está activada en el controlador, puede utilizar estos registros detallados para determinar la causa del problema de conexión ODBC y solucionarlo. Puede abrir el Administrador de orígenes de datos ODBC y hacer clic en la opción Seguimiento para ver el registro de las llamadas del controlador ODBC.
Método 7: Repare su base de datos Access
El error Access ODBC connection failed también puede producirse debido a objetos de base de datos, consultas, tablas o índices dañados. Los daños en el archivo de base de datos de Access pueden causar incoherencias y afectar a la conexión ODBC. Puede reparar su base de datos de Access utilizando la utilidad Comprimir y reparar integrada en Access. A continuación se indican los pasos para utilizar esta utilidad:
- Abra la base de datos Access deseada.
- Navegue hasta el archivo y haga clic en la opción Información.
- Haga clic en la opción Compactar y reparar base de datos.
- Vaya a la ubicación original de la base de datos para ver la base de datos reparada.
Si por alguna razón la utilidad Compactar y Reparar no puede reparar el archivo de base de datos, entonces opte por una herramienta profesional de reparación de Access. Stellar Repair for Access es una potente herramienta que puede reparar archivos de base de datos de Access (.ACCDB/.MDB) dañados o corruptos. Puede descargar la versión demo del software que le permite escanear el archivo dañado y previsualizar todos los datos recuperables. La herramienta es compatible con todas las ediciones de Windows, incluido Windows 11.
Al final
El error de ejecución 3146 puede producirse en MS Access cuando falla la conexión del protocolo ODBC. Pruebe los métodos de solución de problemas mencionados en este post para solucionar el problema. Si el problema se ha producido debido a una base de datos dañada, entonces puede utilizar Stellar Repair for Access para reparar la base de datos con 100% de integridad. La herramienta es compatible con todas las versiones de MS Access, incluyendo MS Access 2019. Descargue la versión demo del software para comprobar sus características antes de comprarlo.