Compattare un Database Access

Le dimensioni di un database crescono progressivamente durante il suo utilizzo. Per questo può essere molto utile una compattazione del database stesso, in modo tale da migliorarne le prestazioni e risparmiare spazio su disco.

Di seguito è presentata una funzione che effettua la compressione di un database. I parametri che riceve sono 2:
dbname: è il nome del database
password: è l'eventuale password con cui è protetto il database.

In questo esempio, viene compattato il database utenti.mdb. Supponiamo che il database non sia protetto da password, per cui il secondo parametro sarà una stringa vuota.

<%
'compatta il database dbname
Function CompactDB(dbname, password)

  Dim dbpath
  dbpath = Server.MapPath(dbname)

  Dim cnfrom, cnto
  cnfrom = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath
  cnto = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source="&dbpath&".temp"

  'se il db è protetto da password...
  If password<>"" Then

    cnfrom = cnfrom&";Jet OLEDB:Database Password="&password
    cnto = cnto&";Jet OLEDB:Database Password="&password
  End If

  Dim engine
  Set engine = Server.CreateObject("JRO.JetEngine")
  'compatta il database
  engine.CompactDatabase cnfrom, cnto


  Dim fso
  Set fso = Server.CreateObject("Scripting.FileSystemObject")
  'il db originale viene eliminato
   fso.DeleteFile dbpath

  'il db appena compresso viene rinominato col nome del db originale
  fso.MoveFile dbpath&".temp", dbpath


  Set fso = nothing
  Set engine = nothing
End Function

'chiamo la funzione per la compressione del database
Call CompactDB("utenti.mdb", "")


Response.Write("Il DataBase è stato compattato con successo!")
%>


Ritieni il contenuto di questa pagina incompleto, non attendibile oppure oggetto di altre problematiche? INVIA UNA SEGNALAZIONE Grazie!

Tags cloud

Grado LIGO PMR fossili viventi Pertini fotocamera reflex Leixen Taxi magnitudo canale 5 riavvio Vincitore Carnevale cyberspace BITMAP dune PSE Miriam Leone POP app abilitate mostrare orto memory balun 1980 Australia Longyearbyen etichetta capacità Ora O Mai Più John Lithgow frame rate Gradi Celsius Arisa Call of Duty Delta Aquaridi michela palmieri pesci tenda regione sette colli Friuli Venezia Giulia GMT FAT anidride carbonica Bomba Ciprinidi Biography 8920101 Unione Corrieri la 5 Neurologia osservare Velocità di propagazione cioccolato 10Base-T anidride solforosa sky Sognefjord ELETTRA Coppa 1/2 alopidi centrale usato amore suffisso Onde Elettromagnetiche fulminazione Mirach cavolfiore Morgan e Bluvertigo editore stivaletti asparagi verdi bennet 1952 Fabrizio Bentivoglio crono Eolo snapshot Caorso Dante Insalatona 5895 sifonare Scorpaenidae generatore asparago bamboo geostazionari canzone Send My Love peso crossover Ben Kingsley malta nichel IGT venezuelano LaEffe Packet Stazione Radio Protezione erbivori minidslam Payoneer Elio E Le Storie Tese Bill Nighy messaggio pittura corpo Deposito esterno Rimessaggio invernale presidente Mar Ligure allarme Vieste Tom McGrath energia solare Stampante RINGO Monferrato UMTS HOT BIRD Alessandro Magno comburente tester halons Zoo blue panorama Compagnie Telefoniche conducente tetra campo elettrostatico risoluzione schermo capperi Lilium cambiare doppia losanga shopping Russell Crowe medicina assorbimento doppiaggio squadre carburante Ksenia Rappoport Malika Ayane URL