Cómo desarrollar una aplicación Java con acceso a bases de datos Microsoft Access. Usaremos una librería gratuita llamada Jackcess que nos permitirá manipular bases de datos Access sin necesidad de instalar software de terceros en el equipo ni utilizar driver ODBC, accederemos de forma nativa directamente a Access. Mostramos paso a paso cómo recorrer registros de Access, hacer inserciones y eliminaciones. Incluimos el código fuente completo de la aplicación Java de ejemplo.

Descarga de librerías Java Jackcess, Apache Commons Lang, Apache Commons Logging para acceso a base de datos Microsoft Access mediante Java

Para desarrollar una aplicación Java que acceda a una base de datos Microsoft Access de forma nativa (sin instalar nada en el equipo y sin usar ODBC), podremos emplear la librería gratuita Jackcess. Dicha librería podremos descargarla de su web oficial de descarga:

Descargaremos el fichero jackcess-2.0.8.jar que será el que utilicemos para acceso a bases de datos Access desde nuestra aplicación Java:

Descarga de librerías Java Jackcess, Apache Commons Lang, Apache Commons Logging para acceso a base de datos Microsoft Access mediante Java

Jackcess necesita dos librerías más de propósito general, la primera, Apache Commons Logging (commons-logging-1.2.jar), la podremos descargar de su web oficial:

Descarga de librerías Java Jackcess, Apache Commons Lang, Apache Commons Logging para acceso a base de datos Microsoft Access mediante Java

Y la segunda, Apache Commons Lang (commons-lang-2.6.jar), también la podemos descargar de su web oficial. Para el caso de Commons Lang, Jackcess 2.0.8 necesita la versión 2.6, la actual 3.3.2 de Commons Lang no es compatible con Jackcess 2.0.8. Por lo tanto descargaremos la versión 2.6 disponible en la misma URL:

Descarga de librerías Java Jackcess, Apache Commons Lang, Apache Commons Logging para acceso a base de datos Microsoft Access mediante Java

En la descarga gratuita de la aplicación de ejemplo completa en Java con acceso a base de datos Access incluimos dicha librería jackcess-2.0.8.jar y el resto de librerías necesarias:

Crear aplicación Java en el IDE NetBeans

En primer lugar necesitaremos disponer del IDE de desarrollo NetBeans, a continuación mostramos un tutorial donde explicamos paso a paso cómo descargarlo e instalarlo:

Una vez instalado, para crear una nueva aplicación Java abriremos NetBeans y pulsaremos en el menú «Archivo» – «Proyecto Nuevo»:

Crear aplicación Java en el IDE NetBeans

Seleccionaremos en Categorías la categoría «Java» y en Proyectos el proyecto «Java Application»:

Crear aplicación Java en el IDE NetBeans

Introduciremos el nombre del proyecto (por ejemplo AjpdSoftJavaAccess) y la carpeta donde se guardará:

Crear aplicación Java en el IDE NetBeans

De esta forma NetBeans creará los ficheros iniciales necesarios para nuestro proyecto de acceso a base de datos Access con Java:

Crear aplicación Java en el IDE NetBeans

Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

A continuación explicamos cómo añadir las librerías .jar necesarias para la correcta ejecución de la aplicación Java con acceso a base de datos Access. Para ello, una vez descargadas como indicamos aquí, copiaremos todos los ficheros .jar descargados:

  • jackcess-2.0.8.jar
  • commons-lang-2.6.jar
  • commons-logging-1.2.jar
Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

Con el Explorador de Windows accederemos a la carpeta del proyecto creado aquí, crearemos una nueva carpeta dentro de la del proyecto, para ello pulsaremos con el botón derecho «Nuevo» – «Carpeta»:

Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

La llamaremos «lib»:

Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

La abriremos y pegaremos los ficheros .jar copiados:

Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

Desde el proyecto NetBeans, pulsando con el botón derecho del ratón sobre «Libraries», nos mostrará un menú emergente, en este menú pulsaremos en «Agregar archivo JAR/Carpeta»:

Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

Navegaremos hacia la carpeta lib creada anteriormente y seleccionaremos el fichero jackcess-2.0.8.jar:

Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

Repetiremos el proceso para los ficheros .jar restantes (commons-lang-2.6.jar, commons-logging-1.2.jar):)

Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess
Añadir librerías .jar necesarias para el acceso a base de datos Microsoft Access de forma nativa desde aplicación Java mediante Jackcess

Crear clase Java con métodos de conexión a bd Access, búsqueda, inserciones, eliminaciones y consulta de registros

A continuación crearemos una clase en nuestro proyecto Java que contendrá todos los métodos necesarios para conectar con la base de datos Access, recorrer registros, buscar, eliminar e insertar. Para ello, en NetBeans, pulsaremos con el botón derecho del ratón sobre el paquete, en nuestro caso «ajpdsoftjavaaccess», en el menú emergente seleccionaremos «Nuevo» – «Java Class»:

Crear clase Java con métodos de conexión a bd Access, búsqueda, inserciones, eliminaciones y consulta de registros

Introduciremos un nombre para la clase en «Nombre de Clase», por ejemplo AccesoBaseDatos y pulsaremos en «Terminar»:

Crear clase Java con métodos de conexión a bd Access, búsqueda, inserciones, eliminaciones y consulta de registros

Pegaremos el código fuente siguiente en la clase creada, para poder utilizar la librería Jackcess debemos añadir los imports correspondientes:

import com.healthmarketscience.jackcess.Cursor;
import com.healthmarketscience.jackcess.CursorBuilder;
import com.healthmarketscience.jackcess.Database;
import com.healthmarketscience.jackcess.DatabaseBuilder;
import com.healthmarketscience.jackcess.Row;
import com.healthmarketscience.jackcess.Table;
import java.io.File;

Crear clase Java con métodos de conexión a bd Access, búsqueda, inserciones, eliminaciones y consulta de registros

El código fuente completo de la clase AccesoBaseDatos:

Como podemos observar en el código de la clase, en el constructor le pasamos como parámetro la ruta de la base de datos Access, hay un método conectarBD para conectar con la base de datos, otro para cerrar la conexión desconectarBD y otros métodos para buscar registros, insertar, eliminar, listar, etc.

Probar clase Java de acceso a base de datos Microsoft Access y compilar aplicación Java

Para probar cada uno de los métodos de la clase anterior de acceso a base de datos Access, desde la clase principal main de nuestra aplicación Java, añadiremos el siguiente código:

Probar clase Java de acceso a base de datos Microsoft Access y compilar aplicación Java

En este código Java básicamente referenciamos e instanciamos la clase AccesoBaseDatos con:

AccesoBaseDatos accesoMDB = new AccesoBaseDatos(ficheroAccess);

Y utilizamos todos sus métodos para realizar la verificación, mostrando los resultados por pantalla.

Código fuente gratuito de aplicación de ejemplo AjpdSoft Acceso Access con Java

A continuación indicamos la descarga gratuita del código fuente completo en Java de la aplicación AjpdSoft Acceso Access con Java, aplicación de ejemplo de este tutorial que incluye la librería Jackcess y una base de datos mdb de ejemplo (neptuno.mdb):