|
Access è un motore di database non del tutto ottimizzato e dopo innumerevoli scritture e cancellazione di record i database in questo formato possono arrivare ad occupare delle dimensioni rilevanti.
Non sempre pero' tutto lo spazio occupato e' utilizzato, percui esiste una funzione di compattazione del database che ottimizza lo spazio utilizzato (cancellando fisicamente i record non più esistenti) riducendo le dimensioni del database.
<%
Option Explicit
Dim sFile, sFileTo, sConn, sConnTo, objJro
'Imposto il Path del Database da compattare
sFile=Server.MapPath("/mdb-database/db1.mdb")
'Imposto il Path del Database compattato
sFileTo=Server.MapPath("/mdb-database/db1_compattato.mdb")
'Imposto le stringhe di connessione
sConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&sFile
sConnTo="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&sFileTo
'Istanzio l'oggetto jro.
Set objJro=Server.CreateObject("jro.JetEngine")
'Compatto il database
objJro.CompactDatabase sConn, sConnTo
'Gestione degli Errori
If Err.Number <> 0 Then
Response.Write("Errore:<br />"&Err.Description)
Else
Response.Write("Database compattato con successo su "&sFileTo)
End If
'Libero la memoria
Set objJro=Nothing
%> |
Alla fine di questa
operazione troviamo una copia del nostro database originale, db1.mdb,
che si chiama db1_compattato.mdb. Tramite il FileSystemObject è
possibile cancellare l'originale e sostituirlo con quello compattato.
A cura di Stefano
Stracuzzi |