Blob em Paradox - Tabelas .mb não diminuem de tamanho

Delphi

04/12/2009

Pessoal,

Eu gostaria de ajuda pra resolver um problema que é o seguinte. No banco Paradox, percebi que os campos blob de uma tabela ficam armazenados num arquivo à parte. Esse arquivo tem o mesmo nome da tabela mas com extensão ".mb". Só que esses arquivos nunca diminuem de tamanho, mesmo após excluir um registro da tabela que possui o blob.
Com o uso contínuo do sistema, a tendência é que esses arquivos ".mb" fiquem grandes demais, dificultando por exemplo o processo de backup.
Acredito que haja na API do BDE alguma função que faça isso, porque através do BDE Explorer, quando eu executo o comando do menu "Tools / Utilities / Empty" o arquivo ".mb" é limpo até 2KB. E esse comando é equivalente a uma função da API do BDE chamada DbiEmptyTable, que pode ser chamada por código. Eu a usei e ela limpa realmente o arquivo. Mas só que ela apaga todos os registros da tabela.
Alguém conhece alguma maneira de manter esses arquivos ".mb" sob controle, i.e., diminui-los ao excluir cada registro da tabela que possui o blob?
Dutra

Dutra

Curtidas 0

Respostas

Dutra

Dutra

04/12/2009

OK, obrigado, já descobri. É só chamar a procedure PackTable em BdeUtils.pas.

Saudações a todos.
GOSTEI 0
POSTAR