Buscar

Reparar e compactar um banco de dados ms-access

Código

Quem já trabalhou com o Ms Access, alguma vez já teve que compactar ou reparar um banco de dados (Extensão MDB).
O recurso de compactar é essêncial , uma vez que o banco de dados começa a ficar grande demais.

O código abaixo realiza estas rotinas automaticamente pelo seu aplicativo em Delphi, sem a necessidade de entrar no Access para executar tal procedimento.

Veja abaixo um exemplo de como utilizar o DAO para compactar um MDB e logo após um outro para reparar um arquivo MDB.


// COMPACTA UM BANCO DE DADOS MDB

var
dao: OLEVariant;
begin
dao := CreateOleObject('DAO.DBEnginge.36');
dao.CompactDatabase('c:banco1.mdb', 'c:banconew.mdb');
end;


// RECUPERA UM BANCO DE DADOS MDB

var
dao: OLEVariant;
begin
dao := CreateOleObject('DAO.DBEnginge.36');
dao.RepairDatabase('c:nomedobanco.mdb');
end;

Caso o mdb esteja protegido com senha, é necessário informa-la ao DAO :

dao.DefaultPassword := ....
dao.CompactDatabase(...)

Estamos criando o objeto de automação a partir da string 'DAO.DBEngine.36'. Verifique a versão do DAO utilizada, caso seja 3.5 utilize a string 'DAO.DBEnginge.35'.
 

Publicidade

Vote na dica




Quantidade de votos: 0 votos
Aceitação: 0%


Detalhes da dica

Categoria: Banco de dados
Adicionada dia: 26/04/05
Por: Miguel Machado
Visualizada: 5803 vezes

Planeta Delphi - Tudo sobre programação Delphi Planeta Delphi - www.planetadelphi.com.br - Todos os direitos reservados | Copyright 2001-2009