Skip Navigation Links
Novas Tecnologias
Ferramentas Adicionais
Ferramentas Adicionais


Dica No :
168
Assunto : Visual Basic
Titulo: Como compactar um banco Access

Gostou do texto ? Vote e dê sua opinião! Pontuação atual :

Translate this page now :






Adicione aos Favoritos!
BlogBlogs Rec6 Linkk Ueba Technorati Delicious DiggIt! StumbleUpon



Bancos de dados Access alocam espaço dinamicamente, mas não fazem o mesmo para desalocação de espaço.

Isso quer dizer que se você incluir 1 milhão de registros em uma tabela o MDB irá crescer para suportar isso, mas se você elimina-los ele não voltará ao tamanho anterior. Para retornar o MDB ao tamanho anterior executamos o processo de compactação.

Mas como fazer a compactação pelo VB, permitindo que o próprio usuário possa fazer isso ?

O ADO, a principio, não faz a compactação, mas ele possui uma extensão para isso que é chamada de Microsoft Jet and Replication Objects X.X library . É necessário que você entre em project->references e marque esta referencia. X.X precisa ser superior a 2.1

Eis o código para realizar a compactação :

Dim jro As jro.JetEngine
Set jro = New jro.JetEngine
jro.CompactDatabase "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\nwind2.mdb", _
"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=d:\abbc2.mdb;Jet OLEDB:Engine Type=5"

Observe que o método CompactDatabase tem 2 parâmetros : Origem e destino. O resultado da compactação será gravado no banco destino, portanto após a compactação será necessário substituir os bancos. Pode ser feito algo como :

kill "d:\nwind2.mdb"
copyfile "d:\abbc2.mdb","d:\nwind2.mdb"
kill "d:\abbc2.mdb"


Para que o processo seja completado o banco de dados deverá estar fechado e o usuário que está realizando a compactação deverá ter permissão adequada sobre o diretório do banco.

Esse código faz a compactação de um MDB do Access 2000, isso é determinado pelo 5 no Engine Type. Alterando para 4 é feita a compactação de versões anteriores.



Nome :
E-mail:
Comentarios :
 
 
Os Últimos Comentários
data: 1/31/2017 1:10:00 PM
nome: yzkwpslbpWm
email: derby451@hotmail.com
comentário:
80FkUi http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 11:04:00 AM
nome: rbnLWVpzcCZergrleb
email: derby451@hotmail.com
comentário:
txbyHp http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 1/29/2017 11:01:00 AM
nome: hvLHyycGvnlY
email: jogcbfn@hotmail.com
comentário:
Lpaxvl http://www.y7YwKx7Pm6OnyJvolbcwrWdoEnRF29pb.com

data: 12/30/2016 1:04:00 PM
nome: EYFLtlqHRl
email: jfvynms4281rt@hotmail.com
comentário:
ouimLS http://www.FyLitCl7Pf7ojQdDUOLQOuaxTXbj5iNG.com

data: 10/14/2016 7:12:00 PM
nome: EwfCyjfwDmsNwQsB
email: jimos4581rzt@hotmail.com
comentário:
zEOE8x http://www.FyLitCl7Pf7kjQdDUOLQOuaxTXbj5iNG.com

 1  
Dicas
Dica do Dia
Receba Dicas Por Email
E-mail :  
 


 (help)
Aceito receber informativos do devASPNet, informações de eventos e treinamentos

Veja Quais Informativos Você Receberá

Pesquisar Dicas
Pesquisar Artigos, Dicas e Noticias

Banco de Dados
Algumas Entrevistas
Links Importantes

Búfalo Informática, Treinamento e Consultoria
R. Alvaro Alvim, 37/920 Centro - Cinelândia - Rio de Janeiro Cep: 20031-010
Tel : (21) 2262-1368 (21) 9240-5134 E-mail : Contato@bufaloinfo.com.br