Reparando / compactando um banco de dados access usando o ASP

Um problema comun a sites que utilizam de bases de dados access é a necessidade de compactar / reparar a tabela de tempos em tempos.

o script a seguir efetua esta tarefa, no entanto é necessario que não tenha nenhum visitante acessando o site e consequentemente mantendo a tabela aberta, recomendo que coloque uma pagina informando que o site esta em amnutenção e aguarde ao menos uns 5 minutos para depois rodar a rotina.

segue codigo:

Repair.asp 

<%  
    oldDB = Server.MapPath("/accessTest.mdb") 
    bakDB = Server.MapPath("/accessTestBack.mdb") 
    newDB = Server.MapPath("/accessCompact.mdb") 
 
    Set FSO = CreateObject("Scripting.FileSystemObject") 
 
    ' cria um backup do arquivo
 
    FSO.CopyFile oldDB, bakDB, true 
 
    ' ompacta a base de dados
 
    Set Engine = CreateObject("JRO.JetEngine") 
    prov = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" 
    Engine.CompactDatabase prov & OldDB, prov & newDB 
    set Engine = nothing 
 
    ' Apaga a tabela original
 
    FSO.DeleteFile oldDB 
 
    ' renomeia a nova tabela para a tabela original
    FSO.MoveFile newDB, oldDB 
    set FSO = nothing
%>

Cette réponse était-elle pertinente?

 Imprimer cet article

Consultez aussi

Como conectar a um banco de dados ACCESS (.MDB) usando ASP

Por questões de segurança, o banco de dados ACCESS (.mdb) deve ficar dentro da...

Quando tento criar objeto xml o site trava ou ocorre erro

Provavelmente está mapeando o objeto na forma do xml 3.0, esta versão do xml...

Forcando uma url a funcionar sob SSL

Muitas vezes é necessário que uma determinada rotina ou programa rode...

Numeros e datas no formato brasileiro

Uma propriedade muito simples de se usar, porém muito útil para o dia a dia do...

Quando acesso uma pagina em ASP da erro de pagina nao encontrada

Antes de mais nada, as páginmas em linguagem ASP somente irão funcionar se possuir...