Autor: Isaac Quinzada

Fecha: 26/10/2018


Uso de Access en JDK 1.8 o superior



UCanAccess


¿Qué es UCanAccess?


UCanAccess


El driver JDBC/ODBC está obsoleto a partir de la versión 8 de java. UCanAccess es una implementación de controlador Java JDBC de código abierto que permite a los desarrolladores de Java y programas cliente JDBC (por ejemplo, DBeaver, NetBeans, SQLeo, OpenOffice Base, LibreOffice Base, Squirrel SQL) leer / escribir bases de datos de Microsoft Access.

Debido a que es una implementación pura de Java, se ejecuta en sistemas operativos Windows y no Windows (por ejemplo, Linux / Unix). No se necesita ODBC. UCanAccess utiliza:

  • Jackcess como biblioteca de entrada / salida de MS Access (sitio web: http://jackcess.sourceforge.net/ ).
  • HSQLDB como DBMS sincronizado (sitio web: http://hsqldb.org/ ).

Instalación de la librería UCanAccess

Primero es necesario descargar la librería desde su sitio oficial:
http://ucanaccess.sourceforge.net/site.html

UCanAccess


Una vez clicada la opción correspondiente, elegiremos la versión que necesitamos y descargaremos el archivo -bin.zip de la correspondiente versión. En esta guía será utilizada la versión 4.0.3.

Nos aseguraremos de descomprimir el archivo .zip que descargamos:

UCanAccess


Tomaremos todos los archivos .jar tanto de la carpeta principal como de la carpeta lib y los pasaremos a una carpeta para mantenerlos todos a mano.
Para añadir la librería a nuestro proyecto:

Desde NetBeans:
Desde la carpeta Libraries y le damos botón derecho y pinchamos en Add JAR/Folder.

UCanAccess


Seleccionamos nuestra carpeta donde nos hemos descargado y copiado las librerías anteriores, marcamos todas y le damos a Abrir.

UCanAccess




En JCreator
Descargar JCreator versión 4.5 LE

Seleccionaremos la opción para crear un nuevo proyecto.

UCanAccess



Seleccionaremos “Basic Java Application”

UCanAccess



Estableceremos un nombre para el proyecto

UCanAccess



Una vez establecido el nombre y demás especificaciones, Se nos desplegará la ventana de Project ClassPath, aquí elegiremos la versión del JDK a utilizar:

UCanAccess



Pasaremos a la Pestaña de “Required Libraries”

UCanAccess



Clicaremos en “New”

UCanAccess



Posteriormente en Add > Add archive

UCanAccess



Seleccionaremos las 5 jars de ucanacces y clicaremos en abrir.

UCanAccess



UCanAccess



Ahora le daremos un nombre y clicaremos en aceptar

UCanAccess



Por último, activaremos las librerías que agregamos y seleccionaremos finish.

UCanAccess




En Eclipse
Para efectos de esta guía será utilizado el entorno de desarrollo Eclipse en su versión Oxygen. Enlace de descarga
Daremos clic derecho sobre el proyecto y seleccionaremos properties:

UCanAccess



UCanAccess


Dentro de properties buscaremos la sección Java Build Path, dentro en Libraries > Add External JARS buscaremos la carpeta donde tenemos los .jar descargados y los vincularemos.

Ya tendríamos las librerías vinculadas a nuestro proyecto.




Uso de UCanAccess en un Proyecto Java


Conexión:
Dentro de nuestra clase conexión deberemos importar lo siguiente:

import java.sql.*; 



  1. Crearemos tres variables de tipo string para almacenar la ruta de la base de datos, el usuario y la contraseña (estos últimos, de existir).

private String nombre_bd = "C:\\Users\\Usuario\\Desktop\\Empleados.mdb";
private String usuarioBD="";
private String passwordBD="";

Utilizaremos además los siguientes objetos:
private Connection cnn; //objeto que permite la conexión a la BD
private Statement stmt; // objeto que permite la manipulaciòn de sentencias SQL
private ResultSet recordset; // objeto que permite obtener resultados de la BD

Dentro del constructor de la clase es donde crearemos nuestra conexión:

public Conexion() throws Exception {
    	try {
    		Class.forName("net.ucanaccess.jdbc.UcanaccessDriver");
    		cnn=DriverManager.getConnection("jdbc:ucanaccess://"+this.nombre_bd,this.usuarioBD,this.passwordBD);
    		stmt = cnn.createStatement();
    	}
    	catch (ClassNotFoundException e){ 
    		throw new Exception ("Error No se pudo cargar el driver puente Jdbc_Odbc");
       	 }
    	catch (SQLException e){ 
    		throw new Exception (e+"Error No se pudo establecer la conexion con la base de dato");
    	}
    	catch (Exception e) {
    		throw new Exception (e);
    	}
    }



Con esto, ya podremos conectarnos a la base de datos sin ningún problema y realizar todas sentencias sql y operaciones que necesitemos mediante JDBC.