Java » JDBC: Conectarse a una base de datos MS Access
No es que MS Access sea una base de datos que sirva para grandes volúmenes de datos, ni que se la pueda pedir una gran concurrencia de peticiones. Si bien, su gran baza, es el ser una base de datos con la que empezar a aprender, además de dar funcionalidad a usuarios domésticos.
Algunos de los límites de MS Access son los siguientes:
- Número de caracteres en un campo tipo texto: 255
- Número de usuarios concurrente: 255
- Tamaño máximo de la base de datos: 2Gb
- Número de caracteres de una sentencia: 64.000
- ...
MS Access puede ser también un buen inicio para empezar a aprender a conectar bases de datos mediante JDBC. Los pasos que tendremos que seguir para conseguir esto son los siguientes.
Primero deberemos de crear una conexión ODBC. Una conexión ODBC permite crear una forma unificada de accesos entre una base de datos, sea cual sea su tipo (MS Access, FoxPro, MySQL,...) y el sistema Windows, y por ende los programas que corren sobre el.
Para crear una conexión ODBC deberemos de ir al Panel de Control >> Herramientas Administrativas >> Orígenes de Datos (ODBC). Si bien, esto puede cambiar dependiendo de la versión del sistema operativo y del lenguaje del sistema instalado.
Al final nos aparecerá una imagen como la que sigue:
Lo siguiente que deberemos de hacer es crear un DSN del sistema. Esto lo que va a hacer es dar un nombre representativo a la base de datos que elijamos. Para ello deberemos de ir a la pestaña DSN de Sistema y pulsar sobre el botón de "Agregar...". Saliendonos la siguiente ventana:
El tipo de base de datos que añadiremos será el MS Access. (*.mdb). Ahora deberemos de indicar el nombre del DSN y la ubicación de nuestra base de datos. La ventana será la que sigue:
Una vez que tenemos creado el DSN del sistema pasaremos a nuestro programa Java. Hay que recordar que para establecer una conexión JDBC necesitaremos dos cosas: el nombre del driver que realizará la conexión y la URL destino donde está la base de datos.
En el caso de las conexiones ODBC existe un driver estandar que se llama sun.jdbc.odbc.JdbcOdbcDriver. Veamos como sería la línea de conexión de dicho driver.
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");Por lo que se refiere a la URL de destino, en el caso de ODBC se sigue la siguiente nomenclatura:
"jdbc:<subprotocol>:<subname>"
Donde el subprotocol sería odbc y el subname el nombre de DSN de sistema que hayamos asignado a nuestra base de datos. Quedandonos la URL de conexión de la siguiente forma:
String url = "jdbc:odbc:DSN_LineaDeCodigo";
Solo nos quedará el realizar la conexión. Veámos como sería esa línea de código:
Connection db = DriverManager.getConnection (url, "usuario","password");
En usuario y password deberemos de poner el nombre del usuario y password que tenga de acceso la base de datos. Si es que los tiene. En caso negativo se debarán vacios.
Artículos relacionados:









Mayo 29, 2007 #
No sabes lo que me ha ayudado esto!! Muchas gracias!!!
Mayo 30, 2007 #
Muchas Gracias. Estoy dando mis primeros pasos y or ahora vamos bien… Ahora tengo que guardar los datos en la base. Veremos otro tutorial excelente como este. Saludos desde Uruguay
Agosto 24, 2007 #
muchas gracias, aunque lo que necesito realmente es la linea de comando que tengo que poner en ejecutar en Windows, porque estoy trabajando en un laboratorio y bloquean el panel de control
Febrero 1, 2008 #
Como hago esto mismo en linux?
Febrero 28, 2008 #
Gracias, me ayudo mucho
Mayo 14, 2008 #
gracias a mi me ayudo mucho no tienes algun correo?
Junio 26, 2008 #
Como puedo conectarme a una base de datos *.mdb que tengo alojada en un servidor??
Agosto 18, 2008 #
todo est{a bien
Enero 18, 2009 #
Hola, un gusto encontrarte.
me he conectado a una BD en access con Java, pero no se cómo jalar las tablas de mi BD, he logrado jalarlas a un cuadro de lista, pero yo quiero ver mis registros ya elaborados, en un cuadro de texto de Java, podrás ayudarme?.
Qué me recomiendas para manejar datos extensos, en Access o algún SQL, que haré si algún día se llena mi BD?
Febrero 12, 2009 #
Me pareció muy buena la explicación, pero tengo una pregunta: no importa donde se encuentre la base de datos? Es decir, debe compartir la misma carpeta del proyecto. Por fa ayudame con eso. Tengo esa duda desde hace un buen rato.