Informazioni sulla condivisione di un database di Access in rete (MDB)

 Nota   Le informazioni in questo argomento sono valide solo per i database di Microsoft Access (.mdb).

Se il computer è connesso a una rete, è possibile utilizzare lo stesso database di Microsoft Access (database: Insieme di dati correlati a un particolare oggetto o scopo. All'interno di un database le informazioni su una particolare entità, ad esempio un dipendente o un ordine, sono suddivise in tabelle, record e campi.) contemporaneamente ad altri utenti.

MostraMetodi di condivisione dei dati

Vi sono diversi modi per condividere i dati in un ambiente multiutente.

Condividere l'intero database di Access  È possibile collocare l'intero database di Access su un server di rete o in una cartella condivisa. Questo è il metodo più semplice da applicare. Tutti gli utenti condividono i dati e utilizzano le stesse maschere, report, query, macro e moduli. È consigliabile ricorrere a questa strategia se si desidera che tutti gli utenti utilizzino il database di Access allo stesso modo e se non è possibile supportare la creazione di oggetti personalizzati da parte degli utenti.

Condividere solo le tabelle del database di Access  È possibile collocare solo le tabelle su un server di rete e mantenere gli altri oggetti del database nei computer degli utenti. In questo caso, le prestazioni del database di Access sono più elevate poiché solo i dati vengono inviati sulla rete. Se si suddivide un database in un database back-end (tabelle) e in un database front-end, gli utenti potranno personalizzare le maschere, i report e gli altri oggetti contenuti nei database front-end senza che ciò influisca sugli altri utenti.

Condividere gli oggetti dei database o le pagine di accesso ai dati di Access su Internet  È possibile effettuare l'output di uno o più oggetti di database in formato HTML (HTML: Linguaggio markup standard utilizzato per i documenti sul World Wide Web. Il linguaggio HTML utilizza i tag per indicare la modalità di visualizzazione nei browser degli elementi di pagina, come testo e grafica, e di risposta alle azioni degli utenti.) statico o in formato HTML generato dal server (HTML generato dal server: Pagina ASP (Active Server Pages) o file IDC/HTX creati da una tabella, query o maschera e connessi a un'origine dati ODBC, che vengono elaborati da Internet Information Server per creare dinamicamente file HTML di sola lettura.) oppure creare pagine di accesso ai dati (pagina di accesso ai dati: Pagina Web pubblicata da Access e connessa a un database. In una pagina di accesso ai dati è possibile visualizzare i dati memorizzati nel database, aggiungere altri dati oppure modificare e manipolare quelli esistenti. Una pagina di accesso ai dati può anche includere dati provenienti da altre origini, ad esempio Excel.) e visualizzarle in un browser quale Microsoft Internet Explorer sul World Wide Web (World Wide Web: Settore multimediale di Internet che presenta non solo testo, ma anche oggetti grafici, audio e video. Sul Web, è possibile passare facilmente da un oggetto all'altro, da una pagina all'altra o da un sito all'altro utilizzando i collegamenti ipertestuali.).

Replicare il database di Access       Se si lavora con due computer, ad esempio quello dell'ufficio e un portatile, è possibile utilizzare Sincronia file di Microsoft Windows per eseguire repliche (replica: Copia di un database appartenente a un set di repliche e che può essere sincronizzato con le altre repliche del set. Le modifiche apportate ai dati in una tabella replicata in una replica vengono inviate e applicate alle altre repliche.) del database di Access e mantenerle sincronizzate (sincronizzazione: Processo di aggiornamento di due membri di un set di repliche tramite lo scambio di tutti i record e gli oggetti aggiornati dei due membri. Due membri di un set di repliche sono sincronizzati quando le modifiche di ogni membro sono state applicate all'altro.). Ciò consente inoltre a più utenti di utilizzare le proprie copie contemporaneamente da posizioni diverse e di sincronizzarle poi in rete mediante una connessione remota o su Internet.

Creare un'applicazione client/server       Se si lavora in un ambiente client/server, è possibile sfruttarne al meglio le potenzialità e funzionalità di protezione creando un'applicazione client/server. I dati vengono memorizzati in tabelle su un server di database quale Microsoft SQL Server anziché in tabelle locali di Microsoft Access. L'applicazione Access, che funge da client, recupera i dati necessari dal server, il quale garantisce l'integrità dei dati ed esegue le query che è in grado di valutare.

MostraIl file di informazioni di blocco (ldb)

Se si apre un file di database di Access (mdb) in modalità condivisa, verrà creato un file di informazioni di blocco (ldb) con lo stesso nome (ad esempio Northwind.ldb) nella stessa cartella del file del database. In questo file verranno memorizzati il nome del computer (ad esempio miopc) e il tipo di protezione (ad esempio Admin) di ciascun utente condiviso del database. Tali informazioni verranno utilizzate per controllare gli accessi contemporanei. Nella maggior parte dei casi il file con le informazioni di blocco viene eliminato automaticamente quando l'ultimo utente chiude il file del database.

MostraModifica dei dati in un database condiviso

In un ambiente multiutente è possibile che più utenti utilizzino contemporaneamente gli stessi record. Dal momento che altri utenti possono modificare o addirittura eliminare gli stessi dati che si sta tentando di modificare, talvolta può crearsi un conflitto con tali utenti.

In Microsoft Access è possibile tenere traccia dello stato dei record durante la modifica e assicurarsi di utilizzare i dati più recenti. Quando due o più utenti tentano di modificare lo stesso record, vengono visualizzati dei messaggi che consentono di risolvere i conflitti. Se ad esempio si tenta di salvare un record bloccato da un altro utente, viene visualizzato il nome dell'utente che ha bloccato quel record.

Per agevolare l'individuazione dello stato dei record, nel selettore di record (selettore di record: Piccola casella o barra a sinistra di un record su cui è possibile fare clic per selezionare l'intero record in visualizzazione Foglio dati e in visualizzazione Maschera.) corrente vengono visualizzati i simboli riportati di seguito:

Simbolo Significato
Immagine dell'icona Questo record è il record corrente e non è stato modificato.
Immagine dell'icona Questo record è stato modificato, ma le modifiche non sono state ancora salvate. Fino a quando viene visualizzato questo simbolo, gli altri utenti non possono vedere le modifiche apportate al record e non possono modificarlo, se è bloccato. Per liberare il record in modo che altri utenti possano utilizzarlo, salvare o annullare le modifiche.
Immagine dell'icona Questo record è bloccato da un altro utente e non è possibile modificarlo. Se si tenta di digitare in un record bloccato, viene emesso un segnale acustico.


È inoltre possibile impostare le opzioni di controllo del blocco e dell'aggiornamento dei dati in un database condiviso.

MostraImpostazioni di blocco dei record predefinite

  • Nessun blocco     Il record che si sta modificando non viene bloccato. Quando si tenta di salvare le modifiche apportate a un record che è stato modificato anche da un altro utente, verrà visualizzato un messaggio che consente di scegliere di sovrascrivere le modifiche apportate al record dall'altro utente, copiare la propria versione del record negli Appunti oppure eliminare le proprie modifiche. Questa strategia assicura di poter modificare sempre i record, ma può creare conflitti di modifica tra gli utenti.
  • Record modificati     Il record che si sta modificando viene bloccato e non può quindi essere modificato da nessun altro utente. È possibile che vengano bloccati anche altri record memorizzati in settori adiacenti del disco. Se un altro utente tenta di modificare un record bloccato, il relativo indicatore Immagine dell'icona verrà visualizzato nel foglio dati dell'altro utente. Questa strategia assicura di poter completare sempre le modifiche iniziate ed è consigliabile se non si verificano frequentemente conflitti di modifica.
  • Tutti i record     Vengono bloccati tutti i record che si stanno modificando nella maschera o nel foglio dati e nelle tabelle sottostanti per tutto il tempo in cui rimangono aperti. Nessun altro utente può quindi modificare o bloccare tali record. Questa strategia è molto restrittiva ed è quindi consigliabile sceglierla solo quando si è certi di essere l'unico utente che ha la necessità di modificare i record in un momento specifico.

Quando si modificano i dati in una tabella di un database SQL (database SQL: Database basato sul linguaggio SQL (Structured Query Language).) collegata utilizzando ODBC (ODBC (Open Database Connectivity): Metodo standard di condivisione dei dati tra database e programmi. I driver ODBC utilizzano il linguaggio SQL (Structured Query Language) standard per accedere ai dati esterni.), i record non verranno bloccati. Al contrario, il blocco verrà gestito dalle regole del database SQL specifico. In questo caso, si presuppone sempre che sia stata selezionata l'impostazione Nessun blocco, indipendentemente dall'impostazione del blocco dei record scelta per il database.

MostraBlocco a livello di pagina e di record

È possibile specificare il livello di dettaglio del blocco utilizzato in un database condiviso. Se si imposta il blocco a livello di pagina, verrà bloccata la pagina di 4 KB, ovvero l'area di memoria che contiene il record, e la modifica del record può comportare anche il blocco di altri record memorizzati nei settori adiacenti. Le prestazioni ottenute con il blocco a livello di pagina sono tuttavia in genere più elevate.

Se si utilizza il blocco a livello di record, verrà bloccato solo il record che si sta modificando. Questa opzione diventa l'impostazione predefinita per l'accesso ai dati mediante una maschera (maschera: Oggetto di database di Microsoft Access nel quale vengono posizionati i controlli per eseguire azioni o per immettere, visualizzare e modificare i dati dei campi.), un foglio dati e il codice che utilizza un oggetto Recordset (recordset: Nome collettivo assegnato a oggetti Recordset di tipo tabella, dynaset e snapshot, ovvero set di record con comportamento simile a quello degli oggetti.) per eseguire un ciclo nei record, ma non mediante le query di comando, né mediante il codice che esegue operazioni collettive tramite istruzioni SQL.

MostraImpostazioni relative all'intervallo e al numero dei tentativi di aggiornamento

È possibile utilizzare le opzioni Intervallo tentativi aggiornamento e Numero tentativi aggiornamento per specificare la frequenza e il numero dei tentativi che verranno eseguiti per il salvataggio di un record bloccato da un altro utente. Per impostare la frequenza di aggiornamento dei dati è inoltre possibile utilizzare le opzioni Intervallo aggiornamenti ODBC e Intervallo aggiornamenti. L'aggiornamento è relativo unicamente ai dati già presenti nel foglio dati o nella maschera e non comporta il riordinamento dei record, la visualizzazione dei nuovi record o la rimozione dei record eliminati e dei record che non soddisfano più i criteri specificati. Per visualizzare queste modifiche, è necessario rieseguire la query sul foglio dati o sulla maschera.

MostraSalvataggio delle modifiche alla struttura in un database condiviso

Non è possibile salvare le modifiche alla struttura di un database di Microsoft Access (database di Microsoft Access: Insieme di dati e oggetti, quali tabelle, query o maschere, correlati a un particolare argomento o scopo.) mentre viene utilizzato da altri utenti. L'unico modo per salvare le modifiche consiste nell'aprire il database di Access in modalità esclusiva (esclusivo: Tipo di accesso ai dati in un database condiviso in rete. Quando si apre un database in modalità esclusiva, si impedisce agli altri utenti di aprirlo.).

Quando si tenta di apportare una modifica alla struttura di un oggetto di database (oggetti di database: Un database di Access contiene oggetti quali tabelle, query, maschere, report, pagine, macro e moduli. Un progetto di Access contiene invece oggetti quali maschere, report, pagine, macro e moduli.), ad eccezione di tabelle e query, o di un elemento in modalità condivisa, in genere viene attivata temporaneamente la modalità esclusiva per il database di Access se si è l'unico utente che lo sta utilizzando al momento. Dopo avere salvato tutte le modifiche alla struttura e aver chiuso tutte le finestre in visualizzazione Struttura (visualizzazione Struttura: Finestra che visualizza la struttura dei seguenti oggetti di database: tabelle, query, maschere, report e macro. Nella visualizzazione Struttura è possibile creare nuovi oggetti di database e modificare la struttura di quelli esistenti.), verrà riattivata la modalità condivisa. Nel frattempo gli altri utenti non potranno aprire il database di Access.

Se un altro utente ha aperto il database di Access in modalità condivisa e si tenta di apportare una modifica sostanziale alla struttura, ad esempio si tenta modificare una maschera, verrà visualizzato un messaggio che informa che potrebbe non essere possibile salvare le modifiche. Se si tenta invece di apportare una modifica secondaria alla struttura, ad esempio si tenta di modificare le impostazioni di stampa, non verrà visualizzato alcun messaggio di avviso. In entrambi i casi è opportuno attendere che nessun altro utente utilizzi il database di Access, in modo da essere in grado di salvare le modifiche sostanziali e secondarie apportate alla struttura.

Una pagina di accesso ai dati (pagina di accesso ai dati: Pagina Web pubblicata da Access e connessa a un database. In una pagina di accesso ai dati è possibile visualizzare i dati memorizzati nel database, aggiungere altri dati oppure modificare e manipolare quelli esistenti. Una pagina di accesso ai dati può anche includere dati provenienti da altre origini, ad esempio Excel.) viene gestita in modo diverso. Sebbene per creare, rinominare, spostare ed eliminare una pagina di accesso ai dati sia comunque necessaria la modalità esclusiva perché queste operazioni comportano la modifica di informazioni nel database di Access, tale modalità non è richiesta per la modifica della pagina perché il file HTML corrispondente si trova nel file system all'esterno del database.

MostraDifferenze tra modifiche sostanziali e secondarie alla struttura

Se non si dispone dell'accesso esclusivo a un database di Access, viene visualizzato un messaggio di avviso quando potrebbe non essere possibile salvare le seguenti modifiche sostanziali alla struttura:

Se non si dispone dell'accesso esclusivo a un database di Access, non verrà visualizzato alcun messaggio di avviso quando si tenta di salvare le seguenti modifiche secondarie alla struttura:

MostraStrategie per la condivisione della struttura e dello sviluppo di un database di Access

Se si intende condividere la struttura di un database di Access, è opportuno considerare l'utilizzo delle seguenti strategie:

  • Assegnare oggetti o gruppi di oggetti specifici a sviluppatori specifici. Uno sviluppatore, ad esempio, può essere responsabile della creazione delle maschere e un altro di quella dei report. Ogni sviluppatore può utilizzare una propria copia del database di Access. Quando il team di sviluppo è pronto per il testing, l'assemblaggio e la produzione, ogni sviluppatore può esportare gli oggetti di database dalla copia privata in un database di Access principale.
  • Utilizzare un programma di controllo del codice sorgente. Se si utilizza Visual SourceSafe, per ottimizzare le prestazioni è consigliabile eseguire regolarmente Analizzatore prestazioni (scegliendo Analizza dal menu Strumenti, quindi Prestazioni).

MostraSuggerimenti relativi al salvataggio delle modifiche alla struttura in un database condiviso

  • Se un altro utente ha una tabella aperta o sta visualizzando dati di query, maschere o report basati sulla tabella, non è possibile apportare modifiche alla struttura della tabella. L'utente viene informato che la tabella è di sola lettura.
  • Se gli oggetti dipendono l'uno dall'altro, aggiornarli tutti contemporaneamente in modo che altri utenti non aprano versioni non congruenti degli oggetti. Se si desidera, ad esempio, aggiungere campi a una maschera, assicurarsi di aggiungere i campi alla query sottostante prima di aggiornare la maschera.
  • Se si modifica una query aperta da un altro utente, l'utente deve chiudere e riaprire l'oggetto modificato per utilizzare la versione più recente. Con i moduli di Microsoft Visual Basic, Applications Edition (VBA), gli altri utenti non possono eseguire le routine aggiornate Function o Sub fino a quando il database di Access non viene chiuso e riaperto.
 
 
Si applica a:
Access 2003