UCanAccess è un puro driver Java JDBC che ci consente di leggere e scrivere su database di Access senza utilizzare ODBC. Utilizza altri due pacchetti, Jackcess e HSQLDB , per eseguire queste attività. Quella che segue è una breve panoramica su come configurarlo.
Opzione 1: utilizzo di Maven
Se il tuo progetto utilizza Maven puoi semplicemente includere UCanAccess tramite le seguenti coordinate:
groupId: net.sf.ucanaccess
artifactId: ucanaccess
Quello che segue è un estratto da pom.xml
, potrebbe essere necessario aggiornare <version>
per ottenere la versione più recente:
<dependencies>
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.4</version>
</dependency>
</dependencies>
Opzione 2: aggiunta manuale dei JAR al progetto
Come accennato in precedenza, UCanAccess richiede Jackcess e HSQLDB. Jackcess a sua volta ha le sue dipendenze . Quindi per usare UCanAccess dovrai includere i seguenti componenti:
UCanAccess (ucanaccess-xxxjar)
HSQLDB (hsqldb.jar, versione 2.2.5 o successiva)
Jackcess (jackcess-2.xxjar)
commons-lang (commons-lang-2.6.jar, o versione 2.x più recente )
commons-logging ( commons-logging-1.1.1.jar o versione 1.x più recente )
Fortunatamente, UCanAccess include tutti i file JAR richiesti nel suo file di distribuzione. Quando lo decomprimerai vedrai qualcosa di simile
ucanaccess-4.0.1.jar
/lib/
commons-lang-2.6.jar
commons-logging-1.1.1.jar
hsqldb.jar
jackcess-2.1.6.jar
Tutto quello che devi fare è aggiungere tutti e cinque (5) i JAR al tuo progetto.
NOTA: non aggiungere loader/ucanload.jar
al percorso di compilazione se si stanno aggiungendo gli altri cinque (5) file JAR. La UcanloadDriver
classe viene utilizzata solo in circostanze speciali e richiede una configurazione diversa. Vedere la relativa risposta qui per i dettagli.
Eclipse: fai clic con il pulsante destro del mouse sul progetto in Package Explorer e scegli Build Path > Configure Build Path...
. Fare clic sul pulsante "Aggiungi JAR esterni ..." per aggiungere ciascuno dei cinque (5) JAR. Quando hai finito, il tuo Java Build Path dovrebbe assomigliare a questo
NetBeans: espandere la visualizzazione ad albero del progetto, fare clic con il pulsante destro del mouse sulla cartella "Librerie" e scegliere "Aggiungi JAR / cartella ...", quindi individuare il file JAR.
Dopo aver aggiunto tutti e cinque (5) i file JAR, la cartella "Librerie" dovrebbe essere simile a questa:
IntelliJ IDEA: scegli File > Project Structure...
dal menu principale. Nel riquadro "Librerie" fare clic sul pulsante "Aggiungi" ( +
) e aggiungere i cinque (5) file JAR. Una volta fatto ciò, il progetto dovrebbe assomigliare a questo:
Questo è tutto!
Ora "Puoi accedere" ai dati nei file .accdb e .mdb usando un codice come questo
// assumes...
// import java.sql.*;
Connection conn=DriverManager.getConnection(
"jdbc:ucanaccess://C:/__tmp/test/zzz.accdb");
Statement s = conn.createStatement();
ResultSet rs = s.executeQuery("SELECT [LastName] FROM [Clients]");
while (rs.next()) {
System.out.println(rs.getString(1));
}
Divulgazione
Al momento della stesura di queste domande e risposte non avevo alcun coinvolgimento o affiliazione con il progetto UCanAccess; L'ho appena usato. Da allora sono diventato un collaboratore del progetto.