Método para resolverlo:
- Accede a la configuración de autenticación de Moodle:
- Dirígete a
Administración del sitio > Plugins > Autenticación > Gestionar autenticación. - Habilita el plugin "Base de datos externa" (External database).
- Dirígete a
- Configura los parámetros de conexión a la base de datos externa:
- Introduce la dirección del servidor, nombre de la base de datos, usuario y contraseña en los campos correspondientes.
- Selecciona el tipo de base de datos (por ejemplo, MySQL o PostgreSQL).
- Define los campos necesarios para la sincronización:
- Configura el mapeo de campos como
username,password,firstname,lastnameyemail. - Asegúrate de que estos campos coincidan entre Moodle y la base de datos externa.
- Configura el mapeo de campos como
- Realiza una prueba de conexión:
- Desde la misma sección de configuración, utiliza el botón de prueba para verificar que Moodle pueda conectarse correctamente a la base de datos externa.
- Ejecuta la sincronización manual desde la línea de comandos:
- Accede al servidor de Moodle mediante SSH.
- Ejecuta el siguiente comando:
php admin/tool/task/cli/schedule_task.php --execute="\\auth_db\\task\\sync_users"
Causas del problema:
El error ocurre debido a configuraciones incorrectas en los parámetros de conexión o en el mapeo de campos entre Moodle y la base de datos externa. También puede deberse a restricciones de acceso o problemas de compatibilidad entre los sistemas.
Recomendaciones:
- Verifica periódicamente las configuraciones de conexión y actualízalas según los cambios en la base de datos externa.
- Asegúrate de que las tablas y campos en la base de datos externa tengan los formatos requeridos por Moodle.
- Implementa pruebas de conexión antes de ejecutar sincronizaciones masivas.
Ejemplos y Casos de Uso:
Por ejemplo, si tienes una base de datos de estudiantes con los campos username y email, asegúrate de que estos coincidan exactamente con los campos correspondientes en Moodle. Realiza pruebas con usuarios individuales antes de sincronizar toda la base.
Referencias: