Newsgroup: it.comp.lang.visual-basic
Titolo: Il database cresce!

Ciao Ragazzi
Sto lavorando con ADO su un DB Access.
Sto sperimentando varie routines, ma mi sono accorto che il mio database
access, da 3 mega che era e' diventato 90 mega!!
E tutto senza che io aggiungessi un dato.
Qualcuno sa spiegarmi cosa e' successo?
Grazie
Marcello Gennari

Hai provato ad eliminare il lievito dalla ricetta?
^_^
Non ricordo bene ma se ne è discusso...
Uso Access pochissimo...
Di fatto accade che nel DB vengono comunque allocati degli spazi ad ogni
operazione; se non ricordo male Access supporta il transaction tracking,
quindi terrà traccia di molte operazioni (tutte?) per consentire il
ripristino. L'unica possibilità immagino sia la compressione del db,
operazione semplice semplice che però cambia gli id dei record... Da
codice si può fare così:
DBEngine.CompactDatabase <source_db>, <destination_db>
Se fatta regolarmente richiede anche poco tempo...
Bye :)
-> GbC
http://www.gbcweb.com

 operazione semplice semplice che però cambia gli id dei record...
sei sicuro ? quali id ? ho molte tabelle con contatori ma nessun pack mi ha
mai creato problemi. semplicemente, il pack pulisce l'incrementatore, per
cui se sei a 10 e sbagli 5 addnew, o inserisci e poi elimini 5 righe, ti
presenta 16, ma se fai un pack ti ripresenta 11. o 1 se la tabella e' vuota.
ciao, a.

 codice si può fare così:
Succede anche (da quello che ho letto su MSDN) che mantiene anche i dati
eliminati.
Quindi se hai procedure che aggiungono molti record per poi eliminarli
questi non saranno più disponibili ma comunque lo spazio su disco rimmarrà
allocato.
CiaoZ
SebaMix

Se č il dbms a gestire i collegamenti non ci sono problemi.
Ma nella vita mi č anche toccato vedere prendere un ID di un record ed
inserirlo in un db esterno come referenza assoluta. Questo dopo un pack
non funziona piů. Nel dubbio (non so chi c'č oltre il post) ho avvisato
prima...
-> GbC
http://www.gbcweb.com

 sei sicuro ? quali id ? ho molte tabelle con contatori
tu quoque java...
dai il buon esempio ai newby e butta i contatori...   :-P
ciao
ugo

 allocato.
normale, lo facevano anche gli xbase, che pero' avevano il tag
    set dele on/off
per poterli comunque visualizzare.
poi col pack sparivano proprio e si recuperava lo spazio, come in access.
mdb/vb invece li vedono comunque, a quanto ho capito da vari post.
non proprio geniale.
a.

 dai il buon esempio ai newby e butta i contatori...   :-P
ho detto che li ho io, mica che li debbono avere loro :P
scherzi a parte, per cose mie di servizio e per velocita'/praticita' ogni
tanto fanno comodo. cosi' come continuo a usare i datacontrol dao. usati con
giudizio servono, eccome. di li' a farne una teoria dell'accesso ai dati ce
ne corre...
j.sapiens <--- evoluzione della specie

 j.sapiens <--- evoluzione della specie
mmm, vuoi dire che fino a poco fa eri j.erectus ???    :PPPPP
ciao
ugo

Alla fine è una cosa ovvia.
Basta veder l'accesso binario ai file tramite record
Per eliminarne uno (e fare le cose veloci) devi marcarlo come deleted oppure
riscrivere il file a parte togliendolo (proprio come fa Access IMHO quando
compatti).
CiaoZ
SebaMix

 mmm, vuoi dire che fino a poco fa eri j.erectus ???    :PPPPP
j.erecta
prendila come preferisci :PP

 presenta 16, ma se fai un pack ti ripresenta 11. o 1 se la tabella e'
vuota.
Fantastico!!!!!!!!!!
E io che dopo aver fatto le prove, prima di consegnare il programma
rinominavo la tabella e ne ricopiavo la struttura in una nuova tabella con
il nome originale per avere il Counter che ripartiva da 1!!!!
Grazie javalab!
--
Esteban
Hosted by 
www.seber.it
(Remove nonspammare for reply)

 ha scritto nel messaggio
news:JTok8.22484$%g7.6...@twister2.libero.it...
| Fantastico!!!!!!!!!!
| E io che dopo aver fatto le prove, prima di consegnare il programma
| rinominavo la tabella e ne ricopiavo la struttura in una nuova tabella con
| il nome originale per avere il Counter che ripartiva da 1!!!!
:) troppo malato!!
--
[ Penguin At Work ]
-> 
http://web.tiscali.it/penguinatwork/
-> aka Fustino Di Dixan while working

tu dici di non usare i contatori. perchč? se non uso un contatore come
codice per l'angrafica clienti, per esempio, cosa dovrei usare?
ciao
