Error al importar usuarios desde una base de datos externa en Moodle

Método para resolverlo:

  1. 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).
  2. 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).
  3. Define los campos necesarios para la sincronización:
    • Configura el mapeo de campos como username, password, firstname, lastname y email.
    • Asegúrate de que estos campos coincidan entre Moodle y la base de datos externa.
  4. 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.
  5. 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:

¿Le ha resultado útil este artículo?