Pagina Iniziale | Preferiti Comunity: Login | Registrati | Newsletter | Forum | Concorsi Newsgroup
Canali: Hardware | Software | Files | Webmaster | Cellulari | Shop     
Nel sito: News | Articoli | Files | Manuali | Consigli PC | Schede cellulari | Programmaz. | Hosting | Motori Ricerca | Glossario | Link
Servizi: Shopping | Forum | Crea un BLOG | Cartucce Compatibili | Hosting Aruba | Tool News |   Sponsor: Automazione Industriale
  Articoli

Recensioni
Consigli per PC


  News e files

Software
Telefonia
Internet
Tecnologia
Files e Download


  Manualistica

Guide HW/SW
Scripts ASP
Scripts HTML
Scripts Java
Scripts Delphi
Glossario


  Shopping

Hardware
Software e Giochi
Elettronica
Cinema e Film
Console e Accessori
Prodotti Ufficio
Formazione e Corsi

Tieniti aggiornato sul mondo della tecnologia con la nostra newsletter!
La tecnologia sulla tua
casella e-mail

[Info Newsletter]


Concessionaria Pubblicitaria


<< News Precedente [Fine Pagina] News Successiva >>
Compattare Database Access con JRO

Un articolo di: Stefano Stracuzzi del 23/04/2002      Letture: 3974

9,90 Euro
Come si fa un database con access da Webster.it



  Buono sconto 4% su Toner e Cartucce agli utenti AZpoint. SU Iomiricarico.it!!

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:
"&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.



[Indietro]    [Su]      [Home]      [Commenti]      [V. Stampabile]

Commento di Anonimo, scritto il 29/11/2003 alle 19:54:46
L'ho provato e mi sembra che funzioni bene. Ma come faccio a cancellare il vecchio e sosttuirlo con il nuovo senza entrare nella cartella database con un ftp? Cioè non capisco "Tramite il FileSystemObject è possibile cancellare l'originale e sostituirlo con quello compattato." Potete aitarmi?

Commento di Stefano Zilli, scritto il 30/11/2003 alle 15:23:47
Ciao, ti posto qui due funzioni che cancellano un file e copiano un file. Quello che devi fare quindi è cancellare il vecchio database, copiare quello nuovo al posto del vecchio e poi cancellare quello compattato:

  function DeleteFile(Path)
    Set objfso3=CreateObject("Scripting.FileSystemObject")
    If objfso3.FileExists(Path) Then
      objfso3.DeleteFile(Path)
      DeleteFile=true
    else
      DeleteFile=false
    End If
    Set objfso3 = nothing
  end function

  function CopiaFile(Path1,Path2)
    Set objfso3=CreateObject("Scripting.FileSystemObject")
    objfso3.CopyFile Path1, Path2
    Set objfso3 = nothing
  end function
Volendo puoi ottimizzare la fase di sostituizione rinominando il nuovo database invece di copiarlo.

Commento di Anonimo, scritto il 30/11/2003 alle 17:39:56
grazie ma sono un principiante di asp. ad esempio se io ho un database da compattare al seguente indirizzo www.miosito.it/mdb-database/prova.mdb e quindi vorrei compattarlo e nello stesso tempo sostiuire il vecchio con quello nuovo compattato avendo lo stesso nome, come uso la funzione sopra? grazie anticipatamente

Commento di Stefano Zilli, scritto il 02/12/2003 alle 11:30:19
Per prima cosa compatti il database. Poi chiami la funzione DelteFile passandogli come parametro il percorso del database originale. Il percorso deve essere calcolato tramite la Server.MapPath(Path), ad esempio Path = Server.MapPath("mdb-database/prova.mdb"). A questo punto chiami DeleteFile(Path) e poi CopiaFile(PathNew,Path) dove PathNew = Server.MapPath("mdb-database/prova_compattato.mdb"). Spero di esserti stato d'aiuto.

Commento di Anonimo, scritto il 22/07/2004 alle 16:36:04
Non mi funziona... :( Ho Aruba come host e,o oltre a darmi un errore 500, il database originale occupa la stessa dimensione di quello compattato (7,9MB contro i 7,3MB)

Commenta questa notizia:
Non hai ancora fatto il
Login, puoi inserire commenti solo come anonimo.
ATTENZIONE: il tuo IP verrà memorizzato e mostrato a fianco del commento; con la pressione del tasto invia commento si esprime il consenso alla pubblicazione di tale informazione personale.
A discrezione dello staff, i commenti ritenuti non adatti od offensivi potranno essere rimossi. Nel caso di utilizzo di espressioni volgari od offensive il comportamento verrà segnalato al provider interessato.
Se non ti sei ancora registrato, cosa aspetti? Registrati subito.

Da ora puoi discutere dei problemi informatici anche sul nostro FORUM

Testo del commento:




  News correlate

 Grafico a barre con ASP e CSS
 Registrare data e ora sul Database
 Un contaclick basato su file di testo
 Relazioni tra due tabelle: le Join
 Gestione spazi nelle stringhe
 Creazione di dizionari
 Scrittura di un file Ms Word
 Spedire un file via email


Domini Email SpazioWeb
a partire da € 9.99+IVA annui


  Ultime dal Forum

Buxillionaire.com
Conoscete metodi di guadagno?
vuoi guadagnare dai 3 ai 100 euro al giorno??
Guadagnare soldi con GDI
consiglio 1000-1100@€
Osservatorio PTC
NOVITA' ASSOLUTA
3° RADUNO ITALIANO PES 2008: ROMA - 25 MAGGIO 2008
DROP SHIP-DROP SHIPPING ITALIA

Comunicazioni / Note Legali / Staff / Collabora / Pubblicità / Contatti


Copyright ZETA TECH S.r.l. (P.IVA : 02387250307), tutti i diritti riservati Utenti Connessi: 517

Programmi


Pagina creata in 0.80sec. Powered by Zeta Tech S.r.l.

Stats v0.1 (0.000sec.)