Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Conexión con bases de datos (https://www.clubdelphi.com/foros/forumdisplay.php?f=2)
-   -   Reparar Tablas Mysql (https://www.clubdelphi.com/foros/showthread.php?t=15488)

pruz 25-10-2004 18:18:02

Reparar Tablas Mysql
 
hola amigos,

Quien me puedea ayuda para crear el codigo, para reparar y reindexar tablas mysql, por medio de un programa delphi

gracias
Saludos

Xianto 25-10-2004 20:56:42

Mira con respecto a reparar, indexar y demas... yo siempre he usado el mismo codigo con mysql, en delphi, kylix o en php... y nunca me ha dado problema !!

SQL:=("OPTIMIZE TABLE tabla1, tabla2, tabla3, tabla4");

Esto te devolvera una matriz con 4 o 5 filas... la que te interesa es la 3... la que te dira OK si funciono bien !
Aunque diga OPTIMIZE, por defecto al ejecutar esto, el mysql 4+ reparara y actualizara los indices.


Saludetes !

pruz 26-10-2004 14:58:27

Gracias, esto me servira

pruz 26-10-2004 15:42:35

Error
 
Sabes se me presento un error al tratar de optimizar la segunda tabla, el error es:
"commands out of sync; you, can't run this command now

me puede ayudar

Gracias

Xianto 27-10-2004 18:43:15

Esto es raro en mysql, pero ya ha sido localizado el problema....

Suele pasar, por ejemplo, si estas usando mysql_use_result() e intentas ejecutar una nueva consulta antes de llamar el metodo mysql_free_result(). Tambien pasa si intentas ejecutar 2 consultas que retornen datos sin llamar la funcion calling mysql_use_result() o mysql_store_result(), en el medio...

Esto es lo que dice mysql. Seria muy util que escribas como lo estas haciendo... pero recuerda que SQL:=("OPTIMIZE TABLE tabla1, tabla2, tabla3, tabla4"); retorna como datos una Matriz o Array.

Para que no te de ese error te recomiendo que la consulta la hagas mediante un COMANDO SQL... (ej: command), no uses un recordset, ya que la respuesta del server es solo un array, no un recordset que puedas utilizar.

Si te sigue fallando, expone aqui el codigo de conexion que usas...

PD: estos codigos se usan cuando la tabla puede ser lokeada al completo, no vaya a ser que cuando lo intentas alguien mas la tenga en proceso de ejecucion...

pruz 27-10-2004 19:59:13

Xianto,

gracias por responder, pero ya lo solucione desconectado y volviendo a conectar la base de datos..

Gracias,


La franja horaria es GMT +2. Ahora son las 03:51:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi