Jump to content

Faq/Base/Come connettersi a un database di Microsoft Access

From The Document Foundation Wiki
< Faq | Base
This page is a translated version of the page Faq/Base/How to connect to a Microsoft Access database and the translation is 100% complete.


Questo articolo descrive come connettersi ai file di database di Microsoft Access.

Sebbene la maggior parte delle opzioni sia utilizzabile solo in Windows, viene descritta anche una modalità di connessione per Linux e altri sistemi operativi.

Per connettersi ai file di database di Access sono disponibili le seguenti opzioni:

  • ADO (solo per Windows)
  • Microsoft Access (solo per Windows)
  • Microsoft Access 2007 (solo per Windows)
  • ODBC
  • JDBC

Verranno quindi illustrate le seguenti connessioni

Prerequisiti in Windows

Sebbene nelle precedenti versioni di Windows (fino a XP) probabilmente era stato installato il fornitore di dati previsto, nelle versioni più recenti di Windows non ne risulta installato alcuno. Il fornitore di dati è un componente di Microsoft e non viene sviluppato o modificato da LibreOffice, ma funge solo da intermediario tra LibreOffice e il file di database di Microsoft Access.

I tipi di file MDB utilizzati dalle versioni a partire da Access 97 (Office 8) fino ad Access 2003 (Office 12) richiedevano l'installazione del fornitore di dati “Jet 4.0” (Microsoft.Jet.OLEDB.4.0 provider). Dalla versione Access 2003, MS Access inizia a utilizzare un nuovo tipo di file di database, il tipo ACCDB, che si avvale del fornitore Access Database Engine, ACE (Microsoft.ACE.OLEDB.12.0 provider).

Fino alla versione 24.8 di LibreOffice, è possibile utilizzare l'opzione Microsoft Access per connettersi ai file MDB. Come abbiamo visto, richiede Microsoft.Jet.OLEDB.4.0 provider, che da diversi anni non è più disponibile per il download dalle pagine web di Microsoft, quindi questa connessione non è operativa.

L'opzione Microsoft Access 2007, disponibile fino a LibreOffice 24.8, viene utilizzata per connettersi ai file ACCDB e, come detto sopra, richiede Microsoft.ACE.OLEDB.12.0 provider.

A partire dalla versione 24.8 di LibreOffice, esiste solo un'opzione Microsoft Access in grado di utilizzare Microsoft.ACE.OLEDB.12.0 provider per le connessioni ai file MDB e ACCDB.

Anche le connessioni ADO richiedono un fornitore Microsoft per connettersi ai file di Microsoft Access.

In breve, per connettersi ai file di Microsoft Access con le opzioni di Windows, è necessario installare il fornitore appropriato. Attualmente, scaricando e installando il Motore di database di Microsoft Access 2016 ridistribuibile da https://www.microsoft.com/it-it/download/details.aspx?id=54920\ si ottengono i file Microsoft.ACE.OLEDB.12.0 (quello utilizzato da LibreOffice), Microsoft.ACE.OLEDB.16.0 e il driver ODBC.

Impostare la connessione (fase 1 della procedura guidata)

Avvia la procedura guidata tramite File ▸ Nuovo ▸ Database o mediante la voce LibreOffice Base dal menu Start di Windows, oppure Database in LibreOffice Quickstart.

Nella prima fase seleziona Connetti a un database esistente. Apri l'elenco a discesa. Puoi utilizzare Microsoft Access, ADO, ODBC o JDBC. Ciascuna delle opzioni ha le seguenti caratteristiche:

Microsoft Access (fino alla versione 24.8 di LibreOffice)

In base ai Prerequisiti di Windows è stato appurato che non puoi connetterti ai file MDB se non disponi di Microsoft.Jet.OLEDB.4.0 provider. E, se pure disponi del fornitore, non potrai utilizzare questa connessione se il database è protetto da password; in tal caso, dovrai utilizzare la connessione ADO.

Microsoft Access 2007 (fino alla versione 24.8 di LibreOffice)

Questa opzione viene utilizzata per accedere ai file del database ACCDB.

Microsoft Access (versione 24.8 di LibreOffice e successive)

A partire da LibreOffice 24.8, si utilizza la connessione Microsoft Access per accedere ai file MDB e ACCDB.

ADO

La connessione ADO consente di utilizzare uno qualsiasi dei fornitori installati per stabilire connessioni ai file Access. Consente inoltre di configurare altre opzioni di connessione non configurabili con le opzioni precedenti, come l'impostazione del nome utente e della password per la connessione a database protetti.

ODBC

La connessione al database ha luogo tramite un driver ODBC. La configurazione del driver viene eseguita a livello di sistema operativo ed è indipendente da LibreOffice, che può utilizzare solo i driver precedentemente configurati.

JDBC

La connessione JDBC richiede un driver da installare prima, anche se la configurazione finale viene effettuata da LibreOffice. Questo tipo di connessione richiede la presenza di Java nel computer. In seguito esamineremo questa connessione più dettagliatamente in una sezione dedicata.

Le fasi successive dipendono dal tipo di connessione scelta. Al termine della connessione, la barra di stato indica la connessione selezionata sul lato sinistro.

Impostare la connessione (fase 2 della procedura guidata)

Microsoft Access e Microsoft Access 2007

Digita il percorso del database o fai clic sul pulsante Sfoglia per accedere al file appropriato. Facendo clic su Avanti approdi all'ultima fase della procedura guidata (vedi Configurare la connessione (fase 4 della procedura guidata)), anche se in questo caso si tratta della fase 3.

ADO

Inserisci la stringa di connessione completa per accedere al file del database. La stringa di connessione è diversa dal percorso del file.

Generare la stringa di connessione ADO

Se non disponi della stringa di connessione, fai clic sul pulsante Sfoglia, così si aprirà una procedura guidata per la configurazione del collegamento dati in cui è possibile selezionare il fornitore, il file di dati a cui connettersi, l'utente e la password per la connessione, oltre ad altre opzioni avanzate. Una volta chiusa la finestra di dialogo, compare la stringa di connessione generata.

Per i file di Access (MDB e ACCDB) puoi selezionare Microsoft Office 12.0 Access Database Engine OLE DB Provider o Microsoft Office 16.0 Access Database Engine OLE DB Provider.

ODBC

Per stabilire una connessione ODBC, in questa seconda fase della procedura guidata è necessario fornire il nome della fonte di dati. Puoi anche fare clic sul pulsante Sfoglia per ottenere un elenco delle fonti di dati registrate.

Se il database non è stato ancora registrato, è necessario eseguire questa operazione con l'applicazione di Windows ODBC Data Sources, grazie alla quale sarà possibile aggiungere una connessione con i driver ODBC installati. Nel nostro caso è necessario selezionare Microsoft Access Driver (*.mdb, *.accdb). Una volta selezionato, facendo clic sul pulsante Fine si aprirà una finestra di dialogo per completare la configurazione.

Se il database a cui desideri connetterti è protetto da password, puoi configurarlo con il pulsante Avanzate della finestra di dialogo di configurazione della connessione, ma è necessario ricordare che la password è leggibile nel registro ODBC.

Il driver ODBC per la connessione a Microsoft Access viene installato insieme ai fornitori ADO già descritti nei prerequisiti.

Configurare la connessione (fase 3 della procedura guidata)

In questa fase vengono configurate le opzioni relative alle password per i diversi tipi di connessione.

ADO

Lascia i campi vuoti.

ODBC

Se il database è protetto da password, ma non è stata digitata nella configurazione della connessione ODBC, seleziona l'opzione Password necessaria.

File MDB

Se il database è protetto, nel campo Nome utente digita Admin o il nome dell'utente, se è diverso. Se non è protetto, lascia il campo vuoto.

File ACCDB

Questo tipo di file non prevede utenti, quindi lascia vuoto il campo Nome utente.

Se necessario, verifica la connessione. Fai clic su Avanti

Salva e procedi (fase 4 della procedura guidata)

Se desideri avvalerti della fonte di dati in altri moduli di LibreOffice, ad esempio per la stampa unione, seleziona l'opzione Sì, registra il database per me. Dopo aver fatto clic su Fine, ti verrà richiesto il nome del file .ODB e la cartella in cui salvarlo. A questo punto è possibile lavorare con il database.

Connessioni JDBC (Windows, Linux e altri sistemi operativi)

La connessione JDBC è l'unica delle connessioni a Microsoft Access utilizzabile in sistemi operativi non Windows. In teoria si potrebbero usare anche le connessioni ODBC, ma purtroppo non esistono driver gratuiti per sistemi non Windows.

La connessione JDBC, come accennato, richiede che nel sistema sia installato Java. Inoltre, per le connessioni a Microsoft Access è necessario un driver JDBC adatto. Esiste almeno un driver open source gratuito, UCanAccess, scaricabile dal sito https://ucanaccess.sourceforge.net/site.html. Essendo un driver Java puro, può essere utilizzato in qualsiasi sistema operativo in grado di installare Java.

Preparare il computer

Come già accennato, il computer richiede l'installazione di Java.

Inoltre, il driver UcanAccess deve essere scaricato e decompresso in una posizione adeguata. Quando si decomprime il file, è necessario rispettare la struttura delle cartelle del file compresso.

Preparare LibreOffice

  • Apri LibreOffice nel Centro di avvio o avvia una delle applicazioni (tranne Base o Math).
  • Seleziona Strumenti ▸ Opzioni  ▸ LibreOffice ▸ Avanzate, tra le opzioni Java, seleziona Usa un ambiente runtime Java e in Runtime Environments (JRE) già installati seleziona quello da utilizzare.
  • Senza abbandonare la pagina delle opzioni Avanzate, fai clic sul pulsante Percorso classe.
  • Nella finestra di dialogo seguente, seleziona il pulsante Aggiungi cartella e accedi alla cartella in cui è stato decompresso il driver; al suo interno seleziona la cartella loader, quindi il file ucanload.jar. Fai clic su Apri e chiudi tutte le finestre di dialogo con il pulsante OK.
  • Riavvia LibreOffice per rendere effettiva la configurazione.

Connettersi

  • Apri Base
  • Nella fase 1 della procedura guidata, seleziona Connetti a un database esistente e dall'elenco a discesa seleziona JDBC. Fai clic su Avanti.
  • Nella fase 2, nella casella di testo che richiede di fornire la stringa di connessione, dopo jdbc: digita ucanaccess// e il percorso completo del database, ma anche se in Windows si usa la barra rovesciata (\\) qui si dovrebbe sostituire con una barra (/), ad esempio jdbc:ucanaccess://C:/Users/jc/Desktop/Access/Database1.accdb o jdbc:ucanaccess:///home/jc/Desktop/Access/Database1.accdb.
  • Nella casella di testo JDBC Driver Class della stessa finestra di dialogo, digita net.ucanaccess.jdbc.UcanloadDriver (il nome del driver è sensibile alle maiuscole e minuscole, quindi va digitato come indicato). Puoi utilizzare il pulsante Prova classe per verificare che il nome sia stato scritto correttamente e che il percorso della classe sia stato impostato correttamente. Fai clic su Avanti.
  • Nella finestra di dialogo successiva utilizza il pulsante Prova connessione per verificare che tutto sia stato impostato correttamente. Lascia vuoto il nome utente e non selezionare l'opzione Password necessaria, perché questo driver non consente l'accesso a database protetti. Fai clic su Avanti.
  • Nella finestra di dialogo successiva, scegli se registrare o meno il database. Facendo clic su Fine, comparirà la finestra di dialogo per assegnare un nome al file ODB creato e selezionare la cartella in cui verrà salvato.

Proprietà delle connessioni

Connettendosi a un database Microsoft Access da LibreOffice, non sono accessibili né moduli né report e le query esistenti vengono convertite in viste.

L'accesso alle tabelle dipende dal tipo di file Access e dal tipo di connessione utilizzata.

Accesso alle tabelle

File MDB

Nelle connessioni stabilite tramite Microsoft Access e nelle opzioni ADO, puoi modificare il contenuto delle tabelle e aggiungere o eliminare record. Non puoi aggiungere tabelle o modificare la struttura delle tabelle esistenti.

Nelle connessioni stabilite con ODBC puoi aggiungere, modificare e cancellare record. Puoi aggiungere tabelle, ma la struttura di quelle esistenti non si può modificare.

Nelle connessioni JDBC puoi visualizzare i dati e presumibilmente aggiornarli, ma si verificheranno errori in tutte le operazioni.

File ACCDB

Versioni di LibreOffice precedenti alla 24.8

Sia nelle connessioni stabilite con Microsoft Access 2007 che in quelle stabilite con ADO, i dati possono essere visualizzati ma non modificati. Inoltre non puoi aggiungere tabelle o modificare la struttura delle tabelle esistenti.

Nelle connessioni stabilite con ODBC puoi aggiungere, modificare e cancellare record. Puoi aggiungere tabelle, ma la struttura di quelle esistenti non può essere modificata. Nelle connessioni JDBC puoi visualizzare i dati e presumibilmente aggiornarli, ma si verificheranno errori in tutte le operazioni.

Versione 24.8 di LibreOffice e successive

In questo caso, sia nelle connessioni stabilite con Microsoft Access che in quelle stabilite con ADO, i dati possono essere visti e modificati, ma non puoi aggiungere tabelle o modificare la struttura di quelle esistenti.

Le connessioni ODBC e JDBC funzionano come nelle versioni di LibreOffice precedenti alla 24.8.


Vedi anche

https://wiki.openoffice.org/wiki/MSA-Base_Faq

https://developer.microsoft.com/it-it/



Autor: Juan C. Sanz 9 march 2025. Based on Regina's work.

Please don't hesitate to improve this guide and adapt it to new versions.