Non riesco più ad aggiornare un database realizzato con OpenOffice (la versione precedente alla 3.0). Quando apro un form qualsiasi, viene aperto in sola lettura. Nella cartella del database ho notato che compare un file con il nome del database ed est …
Non riesco più ad aggiornare un database realizzato con OpenOffice (la versione precedente alla 3.0). Quando apro un form qualsiasi, viene aperto in sola lettura. Nella cartella del database ho notato che compare un file con il nome del database ed estensione .lck
Quando viene aperto in OpenOffice un database in modalità read-write, OpenOffice Base crea un file con lo stesso nome del file principale del database ed estensione .lck per segnalare a eventuali altre istanze del programma lanciate da altri utenti (ed aperte sullo stesso file) la mancata disponibilità di quel database per accesso read-write.
Viene così regolata la concorrenza nell’accesso al database: chi arriva primo acquisisce in esclusiva il diritto di modificarlo. Gli altri utenti possono esaminarlo in sola lettura, fino a quando il primo utente non esce (al che il file .lck viene automaticamente cancellato, per segnalare la disponibilità del database).
A questo punto un utente può nuovamente acquisire il diritto di accesso in read-write: è sufficiente uscire e rientrare da OpenOffice Base per ritentare di “accaparrarsi” l’accesso.
Il primo a farlo otterrà i privilegi read-write, gli altri si vedranno nuovamente concedere soltanto i diritti read only. Pertanto, il comportamento osservato si può verificare se il file incriminato si trova su un disco di rete e un altro utente, con accesso a quel file, lo ha effettivamente aperto per primo in OpenOffice. Verificare se la cartella in cui si trova il file è condivisa oppure se si trova “sotto” una directory condivisa o su un’unità disco condivisa.
Quando OpenOffice Base termina improvvisamente, per un bug software o perché è stato chiuso per sbaglio dal Task Manager, non fa in tempo a cancellare dal disco il lock file, che quindi rimane su disco.
Se OpenOffice giudicasse soltanto in base alla sua presenza, pertanto, i prossimi utenti a collegarsi potrebbero vedersi negare l’accesso read-write. In realtà entra in azione prima la procedura di recupero, al termine della quale il database non soltanto è stato ripristinato, ma è stato anche “sbloccato” l’accesso read write mediante cancellazione del file .lck.
Un caso in cui OpenOffice apre il database in modalità di sola lettura e la cosa non avviene a seguito di un crash, né è automaticamente recuperabile, è quello in cui il file .odb del database prescelto abbia la protezione Sola Scrittura attivata.
Questo accade, per esempio, se il file si trova su un CD ROM o DVD ROM, o se è stato prima masterizzato su CD o DVD (diventando un file in sola scrittura) e poi da qui è stato ricopiato sul disco fisso del PC. In questo caso porta con sè l’attributo Read Only e OpenOffice lo aprirà in modalità Read Only. Per ripristinare lo stato originario è sufficiente selezionare il file del database in Esplora Risorse e poi fare clic col tasto destro e selezionare Proprietà, Generale, e qui deselezionare Sola Lettura.
Qualora per qualsiasi motivo l’attributo Sola Lettura del file non sia modificabile, in alternativa si può aprire il database in sola lettura e poi salvarne immediatamente una copia con nome diverso usando File/Salva con nome…; così si ottiene un database identico ma senza la proprietà Sola Lettura e quindi liberamente modificabile.





