UCanAccess é um driver Java JDBC puro que nos permite ler e gravar em bancos de dados do Access sem usar ODBC. Ele usa dois outros pacotes, Jackcess e HSQLDB , para realizar essas tarefas. A seguir está uma breve visão geral de como configurá-lo.
Opção 1: usando Maven
Se o seu projeto usa Maven, você pode simplesmente incluir UCanAccess através das seguintes coordenadas:
groupId: net.sf.ucanaccess
artifactId: ucanaccess
A seguir está um trecho de pom.xml
, pode ser necessário atualizar o <version>
para obter a versão mais recente:
<dependencies>
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.4</version>
</dependency>
</dependencies>
Opção 2: adicionar manualmente os JARs ao seu projeto
Como mencionado acima, UCanAccess requer Jackcess e HSQLDB. O Jackcess, por sua vez, tem suas próprias dependências . Portanto, para usar o UCanAccess, você precisará incluir os seguintes componentes:
UCanAccess (ucanaccess-xxxjar)
HSQLDB (hsqldb.jar, versão 2.2.5 ou mais recente)
Jackcess (jackcess-2.xxjar)
commons-lang (commons-lang-2.6.jar, ou versão 2.x mais recente )
commons-logging ( commons-logging-1.1.1.jar ou versão 1.x mais recente )
Felizmente, o UCanAccess inclui todos os arquivos JAR necessários em seu arquivo de distribuição. Ao descompactar, você verá algo como
ucanaccess-4.0.1.jar
/lib/
commons-lang-2.6.jar
commons-logging-1.1.1.jar
hsqldb.jar
jackcess-2.1.6.jar
Tudo o que você precisa fazer é adicionar todos os cinco (5) JARs ao seu projeto.
NOTA: Você não adicionar loader/ucanload.jar
ao seu caminho de construção se você está adicionando os outros arquivos de cinco (5) JAR. A UcanloadDriver
classe é usada apenas em circunstâncias especiais e requer uma configuração diferente. Veja a resposta relacionada aqui para detalhes.
Eclipse: clique com o botão direito do mouse no projeto no Package Explorer e escolha Build Path > Configure Build Path...
. Clique no botão "Adicionar JARs externos ..." para adicionar cada um dos cinco (5) JARs. Quando você terminar, seu caminho de construção Java deve ser parecido com este
NetBeans: Expanda a visualização em árvore do seu projeto, clique com o botão direito na pasta "Bibliotecas" e escolha "Adicionar JAR / Pasta ..." e navegue até o arquivo JAR.
Depois de adicionar todos os cinco (5) arquivos JAR, a pasta "Bibliotecas" deve ter a seguinte aparência:
IntelliJ IDEA: Escolha File > Project Structure...
no menu principal. No painel "Bibliotecas", clique no botão "Adicionar" ( +
) e adicione os cinco (5) arquivos JAR. Uma vez feito isso, o projeto deve ser parecido com isto:
É isso aí!
Agora "Você pode acessar" dados em arquivos .accdb e .mdb usando um código como este
// 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));
}
Divulgação
No momento em que escrevi este Q&A, eu não tinha envolvimento ou afiliação com o projeto UCanAccess; Eu apenas usei. Desde então, tornei-me um contribuidor do projeto.