Newsgroup: it.comp.appl.access
Titolo: Perchè non amo compattare i database

Sarà una questione di sfiga ma, tutte le volte che compatto un
database, l'applicazione non funziona più come dovrebbe.
Oggi, per esempio, dovendo azzerare i contatori di numerose tabelle, ho
deciso, per praticità, di usare il metodo della cancellazione dei
record e successivo compattamento del DB.
Non l'avessi mai fatto!
I guai iniziano con l'apertura di una maschera quando appare il
messaggio di memoria insufficiente per il funzionamento di Access.
In un'altra maschera, alla pressione di un pulsante che esegue
un'istruzione SQL, compare un altro messaggio di "errore generico non
gestito".
Addirittura la semplice esecuzione di una query con un banale criterio
di selezione per "testo contenuto" non da il risultato atteso.
Alla fine, dopo aver sbattuto la testa per un'ora a ricercare
l'anomalia che causava i malfunzionamenti, mi sono accorto che una
delle tabelle compattate, all'inserimento del primo record, invece di
assegnargli il n. 1 assegnava il n. 2. Ho così deciso di non perdere
ulteriore tempo e di copiare la struttura delle tabelle dotate di
contatore sostituendole alle vecchie.
Con questo sistema, tutto e ritornato a funzionare come un orologio
svizzero.
In conclusione, per il futuro mi guarderò bene dal compattare un
database se non proprio indispensabile ma mi piacerebbe sapere dal NG
se sono io lo sfigato o se anche altri hanno avuto problemi dopo la
compattazione.
Grazie
Michele

 ha scritto nel messaggio 
news:1140781808....@u72g2000cwu.googlegroups.com...

No, su compattazione no ... ma in generale, quando le operazioni su una 
maschera diventano molte, e magari il codice si allarga... allora SI.
Se vai sul 
www.sitocomune.com
 dovresti trovare delle utili indicazioni anche 
www.donkarl.com
 ha affrontato l'argomento.
Qualche giorno fa ho usato anche la procedura di /DECOMPILE che dovrebbe 
ripulire zone nere (codice e definizioni interne di Access), funziona ma non 
mi ha risolto nulla! Unica procedura VALIDA : importare tutto in un bel DB 
pulito pulito.
Questa è una mia opinione suffragata dal fatto che per ora è l'unica 
soluzione che mi ha dato dei risultati, ma si sà che possiamo modellare 
Access in miliardi di modi diversi e quindi i rimedi dovrebbero aggirarsi su 
quella cifra.
-- 
... spero di esserti stato d'aiuto, facci sapere
       \|/\|/\|/
       (@ @)
---o00-(_)-00o----- Ivan


credo che quel db fosse corrotto.
Nei miei backup giornalieri non evito mai la compattazione
ed un file di 200MB si riduce in 170MB, mai problemi
-- 
_ _
Ciao
MAssimiliano Amendola            
www.accessgroup.it
Cisa - Conferenza Italiana per Sviluppatori Access
Info:  
www.donkarl.com/it

"miconet"
In conclusione, per il futuro mi guarderň bene dal compattare un
database se non proprio indispensabile ma mi piacerebbe sapere dal NG
se sono io lo sfigato o se anche altri hanno avuto problemi dopo la
compattazione.
Sei sfigato, o piů verosimilmente quel DB era danneggiato.
I database di access DEVONO essere compattati regolarmente, pena l'entropia
totale (bloating, prestazioni scadenti).
Se utilizzi JET 4.0, assicurati che sia installato almeno il S.P. 8
Ciao, Simone

Innanzi tutto scusatemi per la poca tempestività delle risposte dovuta
al fatto che (di tanto in tanto) devo anche lavorare. Comunque,
tornando a noi e leggendo le vostre risposte, mi sembra di capire che,
forse, un po' di sfiga ce l'ho a meno che non sia proprio la
compattazione che, in qualche caso, corrompe il database. Circa la
necessità di compattare periodicamente i DB, a parte lo sfogo per il
tempo perso, sono d'accordo con voi anche perchè utilizzo un DB che è
ormai arrivato alla dimensione di 1,2 Gb (quasi 5 milioni di record) e
senza la compattazione, avrei già raggiunto il limite massimo anche se
(tra una compattazione e l'altra) mi si è già danneggiato 3 volte.
Ciao
Michele

 ha scritto nel messaggio 
news:1140791710....@v46g2000cwv.googlegroups.com...

[risposta]
Non hai detto se hai diviso l'mdb in FE e BE e se lo compatti da rete o in 
locale...
Ciao.
-- 
Sergio MAZZA 

locale...
L'mdb è diviso e il BE viene compattato da rete.
Ciao
Michele

 ha scritto nel messaggio 
news:1140793506.3...@i39g2000cwa.googlegroups.com...
L'mdb è diviso e il BE viene compattato da rete.
Ciao
Michele
[risposta]
Si corrompe anche se lo compatti in locale?
Ciao.
-- 
Sergio MAZZA 

>Si corrompe anche se lo compatti in locale?
Non ho provato.
Non posso farlo subito ma proverò e ti farò sapere.
Grazie
Ciao
Michele