Club Builder - Foros de discusión Club Builder
Foro de C++Builder en español
 
 FAQFAQ   BuscarBuscar   MiembrosMiembros   Grupos de UsuariosGrupos de Usuarios   RegistrarseRegistrarse 
 PerfilPerfil   Entra para ver tus mensajes privadosEntra para ver tus mensajes privados   EntrarEntrar 

tamaño de los archivos de las tablas paradox

 
Publicar nuevo tema   Responder al tema    Foros de discusión -> Consultas
Ver tema anterior :: Ver tema siguiente  
Autor Mensaje
Mensaje    Asunto: tamaño de los archivos de las tablas paradox Responder citando

Hola

Tengo una base de datos paradox, con tres tablas, cuando ingreso datos a las
tablas veo que los archivos .MB tienen un tamaño considerable.

Pero cuando elimino algunos registros de la base de datos, veo que los
archivos aun poseen el mismo tamaño, es mas, aun cuando elimino todos los
registro el tamaño sigue igual.

Cuando elimino los registros lo hago mediante un Query con la siguiente
sentencia

delete
from tabla;

No se si hay algo malo o que es.

Alguien puede darme alguna explicacion

Gracias
Volver arriba
Mensaje    Asunto: Responder citando

Hola!

Haz un "pack" de las tablas y verás como disminuye el tamaño del archivo. Se debe a que los registros eliminados siguen ocupando espacio. No me preguntes porque Wink
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Algo que tambien a funcionado y te permite mantener un standar en cuanto al tamaño, es que fisicamente, no los elimines, si no ponles una marca es decir... que en campo clave le asignaras un valor null (0xFF), para que tu tabla aun cuando elimines, estos registros solo se pongan en blanco, asi, cuando insertes otro registro en lugar de ampliar tu tabla, buscas el valor null (0xFF), y editas este registro asi, tu tabla no tendra problemas, recuerda que el orden te lo da el indice y por el campo key...



saludos...
_________________
Cool
Volver arriba
Ver perfil de usuario Enviar mensaje privado Enviar email MSN Messenger
Mensaje    Asunto: Responder citando

Si quieres hacer un pack poc codigo, busca en el sitio de Borland, la utilidad DBUtil q viene con fuentes.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Puedes hacer un pack de las tablas con el siguiente código:
Código:

void PackParadox (AnsiString ATable)
{
        TDatabase *ADB;
        bool SaveKC;
        CRTblDesc PdxStruct;
        TTable *Table=new TTable (NULL);
        try
        {
                Table->TableName=ATable;
                Table->Exclusive=true;
                Table->Open();
                ADB=Table->Database;
                SaveKC=ADB->KeepConnection;
                ADB->KeepConnection=true;
                try
                {
                        Table->Close();
                        ZeroMemory(&PdxStruct,sizeof(PdxStruct));
                        strcpy(PdxStruct.szTblName, ATable.c_str());
                        PdxStruct.bPack=true;
                        Check(DbiDoRestructure(ADB->Handle,1,&PdxStruct,NULL,NULL,NULL, false));
                }
                __finally
                {
                        ADB->KeepConnection= SaveKC;
                }
        }
        __finally
        {
                delete Table;
        }
}
//-------------------------------------------------------------------------

Es decir:
Código:

PackParadox("c:\\mi directorio\mi tabla.db");
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

mu buen aporte MArky, para complementar mi respuesta, solo comentar que el DBUtil trae opciones de reindexación y recuperación de tablas corruptas.
Volver arriba
Ver perfil de usuario Enviar mensaje privado Visitar sitio web del autor
Mensaje    Asunto: Responder citando

Hola

He estado buscando en el sitio de borland pero no encuentro la utilidad que me dices.

Puedes indicarme el link correspondiente.

Gracias y disculpa la molestia
Volver arriba
Mensaje    Asunto: Responder citando

Hola sp!

Si lo que te interesa, y espero no ofender, es eliminar el espacio dejado por los registros borrados, con la función que te posteé es más que suficiente (las tabla tiene que estar cerrada porque sino dará error). Ahora bien, si quieres descorromper tablas o índices puedes usar la librería que te recomienda ikis o bien la utilidad Pdxrblt que es freeware opensource y que utiliza la citada librería.

Ya nos contarás que tal.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mensaje    Asunto: Responder citando

Donde puedo obtener la Pdxrblt? O tal vez puedas enviarmela? pampa@reddeeducacion.com.ar
Volver arriba
Mensaje    Asunto: Responder citando

Esta es la página del autor:

http://www.rksolution.cz/

El enlace directo al archivo es:

http://www.rksolution.cz/DELPHI/rblexe32.ZIP

Funciona genial. Ah! como lleva fuentes puedes traducirla.
Volver arriba
Ver perfil de usuario Enviar mensaje privado
Mostrar mensajes de anteriores:   
Cambiar a:  
No puedes publicar temas nuevos en este foro
No puedes responder a temas en este foro
No puedes editar tus mensajes en este foro
No puedes borrar tus mensajes en este foro
No puedes votar en las encuestas de este foro


Hosting WordPress Indedmedia desde 3,99 €
© 2002–2026 Club Builder · Funciona con phpBB.