error/moodle/ddlexecuteerror

De MoodleDocs
Revisión del 23:51 17 ago 2014 de German Valero (discusión | contribs.) (tidy up)
(difs.) ← Revisión anterior | Revisión actual (difs.) | Revisión siguiente → (difs.)

Esta página necesita una revisión. Por favor, revísela y quite la plantilla {{Revisar}} cuando haya terminado.

Nota: Pendiente de Traducir. ¡Anímese a traducir esta página!.     ( y otras páginas pendientes)

This error indicates that an error occurred when the Moodle installer tried to run a SQL statement that makes changes to the Moodle database structure. This error will normally only occur during a Moodle installation or upgrade. It will also occur during backup if moodle database user has not sql privilege: create temporary tables.

To get more information about the error that caused this message you can enable the Depuración option in Moodle and then reattempt the Moodle installation. If the problem does occur again you will get a more detailed description of the problem. You can then use this information to report the problem to the Moodle developers via the Moodle Tracker, which is the database for recording and managing Moodle bugs, improvements and feature requests.

Technical Information

This error message is constructed by the ddl_change_structure_exception class in \lib\ddllib.php. This is a function that is used to trap errors that occur during Moodle database changes.

The error can be triggered from one of two places in Moodle:

  • The execute_sql() function in \lib\ddl\database_manager.php. This function is part of the database_manager class and is responsible for all database structure modifications.
  • The query_end() function in \lib\dml\moodle_database.php which is called immediately after each database query. It is a "cleanup" routine that forms part of the the Moodle database interface.

See also


Documentación antigua en español

Al habilitar la opción de depuración de Moodle, saldrá el detalle siguiente:

Error de ejecución DDL sql

Más información sobre este error
Debug info: Access denied for user 'usuario_de_la_base_datos'@'localhost' to database 'moodle'
CREATE TEMPORARY TABLE mdl_backup_ids_temp (
id BIGINT(10) NOT NULL auto_increment,
backupid VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT '9c44e955ae7.....',
itemname VARCHAR(160) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL DEFAULT ,
itemid BIGINT(10) NOT NULL,
newitemid BIGINT(10) NOT NULL DEFAULT 0,
parentitemid BIGINT(10),
info LONGTEXT CHARACTER SET utf8 COLLATE utf8_general_ci,
CONSTRAINT PRIMARY KEY (id)
) DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci
Error code: ddlexecuteerror
Stack trace:

     ...... etc ......

Solución:

Agregar el siguiente permiso al usuario de la base de datos Moodle: CREATE TEMPORARY TABLES.