Sigueme en Facebook Sigueme en Twitter Sigueme en Instagram Sigueme en Youtube
JC Mouse Bolivia
Index / Base de Datos / Java / Proyectos / Utiliza 2 bases de datos diferentes en una aplicación parte I

Utiliza 2 bases de datos diferentes en una aplicación parte I

Autor jc mouse viernes, abril 19, 2013

Cuando se desarrolla una aplicación, puede ser un requisito que este tenga soporte para varias tipos de base de datos, si bien migrar el código de por ejemplo MySQL hacia Posgres o Firebird, no requerirá de mucho esfuerzo, en ocasiones, se desea que el código tanto para una u otra base de datos ya este presente en el proyecto. En este caso, donde más cuidado se debe tener es en las instrucciones SQL las cuales varían un poco entre SGBD, se deben añadir tantos drivers como soporte a base de datos se quiera, y claro, el código también se complicara un poco o.O pero no hay de que asustarse.

En este ejemplo, se implementa una aplicación con soporte para dos tipos de base de datos, Access de Microsoft y SQLite de Richard Hipp.

Necesitamos

– Base de datos Microsoft Access

– Base de datos SQLite y su driver de conexión «sqlitejdbc-v056.jar» o superior instalado en Netbeans

– IDE Netbeans 7 o superior y java

– Se puede crear una base de datos SQLite desde consola, pero es mucho mejor y más rápido el uso de una herramienta gráfica como «SQLite manager» disponible como plugin para Firefox

– Conocimientos de lenguaje SQL tanto para Access como para SQLite

– Windows o.O

Tiempo: 30 minutos

Nivel: intermedio avanzado

Proyecto

sqlite y access

La aplicación al ejecutarse presentara un formulario donde el usuario podrá elegir entre que base de datos utilizar (Access o SQLite), cuando ingrese al programa, se leerá una registro aleatorio (frases celebres) de la base de datos seleccionada y se mostrara en pantalla.

– La Base de datos

Utilizando SQLite Manager, cree una base de datos llamado «oops.sqlite«, a continuación ejecute el SQL siguiente para crear una tabla llamada «frases»:

CREATE TABLE "frases" 
("id" INTEGER PRIMARY KEY  AUTOINCREMENT  NOT NULL , 
 "texto" TEXT check(typeof("texto") = 'text') , 
 "autor" CHAR);

Necesitamos añadir algunos registros

INSERT INTO "frases" VALUES ("1","Los ordenadores son buenos siguiendo instrucciones, no leyendo tu mente","Donald Knuth");

INSERT INTO "frases" VALUES ("2","Tus clientes más descontentos son tu mayor fuente de aprendizaje","Bill Gates");

INSERT INTO "frases" VALUES ("3","Antes de que un software sea reutilizable debería ser utilizable","Ralph Johnson");

INSERT INTO "frases" VALUES ("4","Ley de Alzheimer de la programación: si lees un código que escribiste hace más de dos semanas es como si lo vieras por primera vez","Via Dan Hurvitz");

INSERT INTO "frases" VALUES ("5","La mejor forma de predecir el futuro es implementarlo","David Heinemeier Hansson");

INSERT INTO "frases" VALUES ("6","No documentes el problema; arréglalo","Atli Björgvin Oddsson");

INSERT INTO "frases" VALUES ("7","Si el código y los comentarios no coinciden, posiblemente ambos sean erróneos","Norm Schryer");

Utilizando Microsoft Office Access crea una base de datos «oops.accdb» y añade una tabla «frases» :

access db java

También necesitamos añadir algunos registros a la tabla frases:

1 "No temo a los ordenadores; lo que temo es quedarme sin ellos" "Isaac Asimov"
2 "El ordenador nació para resolver problemas que antes no existían" "Bill Gates"
3 "Los estándares son siempre obsoletos. Eso es lo que los hace estándares" "Alan Bennett"
4 "El mayor enemigo del conocimiento no es la ignorancia, sino la ilusión del conocimiento" "Stephen Hawking"
5 "Sólo hay dos cosas malas en C++: el concepto inicial y la implementación" "Bertrand Meyer"
6 "Perl: el único lenguaje cuyo código es prácticamente igual antes y después de someterlo a una encriptación RSA" "Keith Bostic"
7 "UNIX es simple. Sólo necesita un genio para entender su simplicidad" "Dennis Ritchie"

Trabajando en Netbeans

Crea un nuevo proyecto en Netbeans y añade las clases y formularios como se ve en la imagen siguiente

pj sqlite

Observa que se añadió también el driver JDBC para SQLite.

descripción:

ConexionDB.java : en esta clase se coloca todo el código para gestionar ambas bases de datos

DbDouble,java : este es el MAIN de la aplicación y por lo general tendrá el nombre del proyecto.

frmSelected.java : Es un JFrame, en este formulario el usuario haciendo uso de un jcombobox, selecciona la base de datos que desea utilizar.

frmData : Es una JFrame, una vez que se selecciono la base de datos, se muestra este formulario.

Con esto ya tenemos todo listo para escribir código 🙂 esto, en el siguiente post 🙂

sqlite y access

Tags

Si te ha gustado podrías compartirlo o dejar un comentario. ¡Muchas gracias!
Autor: JC Mouse

Yo soy yo :) JC Mouse, Soy orgullosamente boliviano soy fundador y CEO de la web jc-Mouse.net uno de las pocas web en emprendimiento y tecnología en Bolivia.

Toda la información que encuentres en este sitio es y sera completamente gratis siempre, puedes copiar, descargar y re-publicar si así lo deseas en otros blogs o sitios web, solo te pido a cambio que dejes una referencia a esta web. Esto nos ayuda a crecer y seguir aportando. Bye

Enjoy! :)

También Te Podría Interesar

Generador de código para Netbeans

Generador de código para Netbeans

El IDE Netbeans al igual que Eclipse :), nos permite personalizar el espacio de trabajo y añadir funcionalidades que nos...

Proteger documento PDF con contraseña y limitar permisos desde Java

Proteger documento PDF con contraseña y limitar permisos desde Java

Los archivos digitales (txt, docx, xlsx, odt, odp, pdf, etc) nos permiten almacenar información el cual en ocasiones, de...

Personalizar nodos de un JTree con HTML

Personalizar nodos de un JTree con HTML

Una clase JTree permite mostrar datos de una forma jerárquica y en realidad este objeto no contiene sus datos; es decir,...

Tweetbotornot: Detección de Bots de Twitter

Tweetbotornot: Detección de Bots de Twitter

El modelo Tweetbotornot es un algoritmo de aprendizaje automático que se entrenó en miles de cuentas reales de bot y no...

Crea tu propia aplicacion para realizar llamadas

Crea tu propia aplicacion para realizar llamadas

En este tutorial Android Bolivia 🙂 construiremos una sencilla aplicación para realizar llamadas por teléfono, aprenderem...

Ejercicios con Hashtable y C#

Ejercicios con Hashtable y C#

Ejercicio: Escriba un programa en consola que implemente un Hashtable, cree una clase «Persona«, este será el tipo de da...

8 comentarios en “Utiliza 2 bases de datos diferentes en una aplicación parte I”

  1. VIANEY VARGAS dice:

    que bacaneria de explicacion muy buena mouse no tienes un tutorial bien bueno bueno todos ha sido excelentes pero uno q tenga varios formularios de JFrame y consulte y tenga conexion a varias bases de datos ???? podrias hacerlo

    1. Mouse dice:

      para ampliar a muchas otras bases de datos es solo cuestión de utilizar los plugin adecuados y tener cuidado con las consultas SQL que pueden variar según el SGBD

      1. VIANEY VARGAS dice:

        no por ejemplo tener varias bases de datos en un Jcombobox y que cuando seleccione un item osea cuando seleccione la base de datos me trabaje el programa con la base de datos que elija ??? como lo puedo hacer se q tal vez con los metodos set y get osea lo q necesito de ayuda es: como puedo obtener un texto de un JCombobox y pasarle el item seleccionado a un metodo que tengo en otra clase???? pordrias explicarme porfavor??? o si tienes un tutorial????

        1. Mouse dice:

          el método que expongo en este tuto te sirve para lo que quieres hacer, pero te digo que debes planificar tus clases para manipular las bases de datos, otros utilizan el DAO, creo que tengo un ejemplo, :/ lo buscare

  2. VIANEY VARGAS dice:

    mouse no tienes un proyecto de basee de datos que consulte q tenga varias consulte e interactue con los controles JtextFeld JCombobox??? etc …… q la consulta la muestre en diferentes controles porfavor si lo tienes publicalo vvvvianey@gmail.com

    1. Mouse dice:

      es una duda muy general, dependiendo de lo que quieras hacer cada componente puede tratarse de una u otra forma

  3. AntraxSec dice:

    Hola, JC-Mouse, una consulta muy grande.
    No hallo la forma poder distribuir mi proyecto hecho en netbeans, el problema es el siguiente al momento de | Limpiar y Construir | y ejecutar mi aplicación no se conecta con la base de datos ACCESS. Y sale el siguiente ERROR

    *Error en la Base de Datos java.sql.SQLException:[Microsoft][Administrador de controladores ODBC]No se encuentra el nombre del origen de datos y no se encontró ningún controlador predeterminado.*

    El codigo que e utilizado y segui tus instrucciones fue.

    * private String password = «»;
    private String dbName = «RegClientes.mdb»;
    private String bd = System.getProperty(«user.dir») + «\\» + dbName + «;PWD=» + password;
    //private String bd = «C:\\temporal\\» + dbName + «;PWD=» + password;
    //driver para base de datos Access 2000, 2003, 2007, 2010
    private String url = «jdbc:odbc:;DRIVER=Microsoft Access Driver (*.mdb, *.accdb);DBQ=» + bd;
    // private String url = («jdbc:odbc:Driver=Microsoft Access Driver (*.mdb);DBQ=RegClientes.mdb»);
    Connection conexion = null;

    ¿Que es lo que estoy haciendo mal? JC-Mouse, te rogaría mucho por una respuesta de ante mano, Gracias.

    1. Mouse dice:

      eso es porque utilizas “C:\\temporal\\” + dbName + “;PWD=” + password; como dirección de tu base de datos, pero cuando lo distribuyan no lo encontraran a menos que tengan esa misma direccion, lo mejor es colocar la base de datos junto al proyecto JAR y utilizar System.getProperty(«user.dir») para obtener la direccion de la aplicacion

Los comentarios estan cerrados

Comparte lo que sabes

Categorias

Últimas entradas

Por lo general se usan transacciones a nivel base de datos y posteriormente se llaman estos a través de procedimientos a...

En este post, aprenderemos como conectar Visual Basic 6 con SQL Server, abrir una tabla, leer su contenido y mostrar est...

Lo que veremos en este post es la configuración del driver para PHP de SQL Server que ha creado Microsoft el cual permit...

Google Bard la inteligencia artificial de Google se actualiza con una mejora que entra a competir con el resto de IAs y...

Herramientas

Generador de Enlaces a Whatsapp