conexión java y microsoft access 2010 desde netbeans en windows 7.pdf

9

Click here to load reader

Upload: unurato

Post on 08-Aug-2015

633 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7.pdf

Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7

Hola a todos!!, esta pubicación está dedicada a todos

pero en especial a un compañero de clases; William, bueno empecemos mencionando lo que

necesitamos para el correcto funcionamiento de este ejemplo:

Microsoft Access, en cualquiera de sus versiones ya sea anteriores(2003) como posteriores

(trabajé con la versión 2010), lo que cambia es únicamente las extensiones con las que se

guarda una Base de Datos.

Una vez abierto Microsoft Access procedemos a crear la Base de Datos, la Tabla y luego

rellenamos algunos datos.

*Nota 01: Si no logras cambiar el nombre de la BD a tu preferencia, hazlo ubicando el archivo

origen.

*Nota 02: Observa que la extensión de la BD es ".accdb" (esto en versiones superiores desde

M. Access 2007), cosa que en versiones inferiores al 2007 es ".mdb".

*Nota 03: Guarda la BD en la dirección por defecto que Access tiene asignado en el sistema

Page 2: Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7.pdf

("C:\Users\"tu_usuario"\Documents" en Windows7), puesto que esta publicación será

para Conexiones indirectas o estáticas.

Con lo cual deberá quedar de la siguiente manera:

Ya tenemos la base de datos!

Bueno ahora vamos a configurar el servicio como en los otros casos (Derby), vamos al panel

de control:

Buscamos "ODBC"

Ahora estamos en la pestaña "DSN Usuario" y escogemos tal como se muestra en la siguiente

imagen:

Page 4: Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7.pdf

Ahora veamos el código fuente del proyecto:

Recibirá el nombre y la estructura de carpetas que se muestra a continuación:

Veamos la clase Conexion que varió ligeramente:

Como en este caso no hemos utilizando un driver como en casos anteriores; trabajamos

conClass.forName(" ").

Se preguntarán qué hace esa contraseña ahí ("123456"); si lineas arriba mencioné que daba

igual ponerla o no; pues bien, lo que dije es cierto; pueden modificar la contraseña de esta

clase y con normalidad seguirá haciendo la conexión y consulta.

Y claro la clase ConexionConsolaJavaAccess seguirá siendo la misma que de los proyectos

anteriores (Conexión Java y Derby utilizando Netbeans 7 (ConexionConsolaJavaDerby)):

Ahora ejecutando nuestra clase ConexionConsolaJavaAccess debería mostrarnos lo

siguiente:

Page 6: Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7.pdf

Ahora sí verás que la contraseña hace efecto a nuestra BD "AccessBD.accdb", y si en la

claseConexion modificas la contraseña, nuestro proyecto no tendrá permisos para acceder a

la BD.

Dudas y sugerencias, háganlas llegar... gracias!

Ahhhhhhh y por favor si el material te fue útil ayúdame recomendando por las redes

sociales; dando "Me gusta" en Javaenaccion en Facebook o "+1" en Google+, etc etc. en

:D.

Publicado por Roger Soto en 21:30

Enviar por correo electrónicoEscribe un blogCompartir con TwitterCompartir con Facebook

Etiquetas: Base de Datos, Java, Microsoft Access

2 comentarios:

1.

Lidia Silva _pĿª∫ŧ‼ќ_ġї®Ŀ _!!28 de mayo de 2

Conexion base de datos Access y Java

J AN29

Post Info

Mouse

en 06:24

10 comentarios

Page 7: Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7.pdf

Permalink

Para poder acceder a una base de datos de Acces 2000-2010 de Microsoft, podemos utilzar dos formas, una

de ellas es utilizando un Origen de Datos ODBC para utiliarlo como puente entra Access y Java, ó,una forma

mas directa, es enlazar la base de datos Access con Java utilizando la API JDBC de java y especificando el

driver, la base de datos y el password (si es que tuviera) para realizar una conexion como se hizo con MySQL

y Java. (Conexion a Base de datos)

Nuestra clase java para poder realizar una conexion, es la iguiente:

Clase: Access_connection.java

codigo fuente

import java.sql.*;

import java.util.logging.Level;

import java.util.logging.Logger;

/**

* @web http://jc-mouse.blogspot.com/

* @author Mouse

*/

public class Access_connection {

//contraseña a la base de datos si es que tuviera, si no se deja vacio

static String password = "";

//nombre de la base de datos Acces con extension *.mdb o *.accdb

static String dbName = "TU_BASE_DE_DATOS.mdb";

//direccion de la base de datos

static String bd = System.getProperty("user.dir") + "\\" + dbName +

";PWD=" + password;

//driver para base de datos Access 2000, 2003, 2007, 2010

Page 8: Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7.pdf

static String url = "jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb,

*.accdb);DBQ=" + bd;

Connection conn = null;

public Access_connection() {

try{

//obtenemos el driver para Access

Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");

//obtenemos la conexión

conn = DriverManager.getConnection(url);

//si la conexion tuvo exito

if (conn!=null){

System.out.println("Conexión a base de datos "+bd+". listo");

}

}catch(SQLException e){

System.out.println(e);

}catch(ClassNotFoundException e){

System.out.println(e);

}

}

/**Permite retornar la conexión*/

public Connection getConnection(){

return conn;

}

//como dice su nombre, termina la conexion a la base de datos

public void desconectar(){

try {

conn.close();

//conn = null;

System.out.println("La conexion a la base de datos " + bd +

" a terminado");

} catch (SQLException ex) {

Logger.getLogger(Access_connection.class.getName()).log(Level

.SEVERE, null, ex);

}

}

}

Page 9: Conexión Java y Microsoft Access 2010 desde Netbeans en Windows 7.pdf

La direccion a la base de datos se la realiza utilizando el comando "System.getProperty("user.dir")", el cual

nos retorna la direccion de nuestro proyecto (*.JAR), si se desea especificar otra dirección, por

ejemplo: "E:/mi base de datos/db.mdb", solamente se debe eliminar esa instruccion.

La forma de implementar esta clase, es similar a la clase conexion MySQL Conexion a Base de datos. osea:

public class Main {

public static void main(String[] args) {

//se realiza la conexion

Access_connection access = new Access_connection();

//se cierra la conexion

access.desconectar();

}

}

Access cuenta con dos extensiones para base de datos, para versiones antiguas 2000-2003 utiliza la

extension *.mdb y para las versiones recientes de access 2007-2010, utiliza *.accdb, esta

clase, Access_connection.java, realiza la conexion para ambas versiones.

fin?