lunes, 12 de noviembre de 2012

JDBC para Access sin DSN

Hasta ahora, para acceder a una base de datos Access desde Java había que crear un ODBC de la siguiente forma:
  1. Herramientas Administrativas > Administrador de Orígines de ODBC > Crear un nuevo Origen
  2. Desde el JDBC, escribir como URL el nombre del DSN.
Es muy incómodo tener que crear un ODBC nuevo en cada máquina que se instale nuestra aplicación Java, por lo que la solución es acceder a la base de datos de la siguiente forma (¡sin crear ODBC!):

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String accessDB = "jdbc:odbc:Driver={Microsoft Access Driver (*.mdb)};DBQ=C:\mi_proyecto\mi_bd.mdb";
Connection conn = DriverManager.getConnection(accessDB, "", "");


Esta solución es válida para cualquier ODBC, no solo para Access. Para acceder a una hoja de cálculo Excel haríamos lo siguiente:

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
String hojaExcel = "jdbc:odbc:Driver={Microsoft Excel Driver (*.xls)};DBQ=C:\mi_proyecto\hoja_excel.xls;" + "DriverID=22;READONLY=false";
Connection conn = DriverManager.getConnection(hojaExcel, "", "");


Información extraída de Apuntes de Java.

No hay comentarios: