feed twitter facebook LinkedIn facebook

Noticias Web » Driver JDBC Type 5

Abril 30, 2010 por Víctor Cuervo . 5407 visitas Sin Comentarios Imprimir Imprimir

Progress Software ha lanzado unos nuevos driver JDBC type 5. Los cuales se añaden a los 4 tipos de drivers ya existentes.

Y es que desde 1998, año desde el que están disponibles los driver type 4, no se había trabajado en nuevas especificaciones. Y ya iba siendo hora de tener una pequeña evolución.

Progress Software ha enfocado los driver JDBC type 5 a intentar subsanar las carencias de los driver type 4:

  • Rendimiento lento o inconsistente, el rendimiento en ciertos casos es pobre y  no es consistente entre diferentes tipos de plataformas.
  • Funcionalidades inaccesibles o no disponibles, el ajuste del driver es muy crítico y en ciertas ocasiones se necesita acceso al código JDBC.
  • Excesivo consumo de CPU y de memoria, en el tiempo de acceso a datos.
  • Restricciones en el despliegue de aplicaciones, se requieren de diferentes archivos JAR. Incluso, en algunos casos, el despliegue de DLL. Limitando los entornos en los que se puede desplegar.
  • Implementaciones propietarias, en ciertas implementaciones el soporte de transaccionalidad XA o el soporte de campos CLOB/BLOB requieren código propietario.

Progress Software tiene disponible los driver type 5 para para Oracle, SQL Server, DB2, Sybase, MySQL e Informix. Habrá que probarlos.

Vía: Application Development Trends

Java » Consulta JDBC sin conocer los campos

Septiembre 11, 2007 por Víctor Cuervo . 10744 visitas 1 Comentario Imprimir Imprimir

Una de las primeras cosas que haremos cuando estemos utilizando una base de datos desde un programa Java con JDBC será hacer consultas.

Si nos centramos en cualquier tipo de aplicación lo normal es que el tipo de sentencia hacia las bases de datos más utilizado sea la consulta. Bastante más que las inserciones, actualizaciones y borrados.

Continue reading Consulta JDBC sin conocer los campos...

Java » Conectarnos a una base de datos con JDBC

Agosto 10, 2007 por Víctor Cuervo . 30150 visitas 12 Comentarios Imprimir Imprimir

El objetivo de nuestro ejemplo es el de ver qué tenemos que hacer para crear una conexión JDBC con Java sobre una base de datos y ejecutar una consulta.

Continue reading Conectarnos a una base de datos con JDBC...

Java » Listar los drivers con JDBC

Agosto 5, 2007 por Víctor Cuervo . 13212 visitas 7 Comentarios Imprimir Imprimir

El API JDBC propone un interface estándar de acceso a bases de datos. Los vendedores de bases de datos implementan dicho interface. Para ello lo que hacen es crear drivers.

Por lo tanto el driver son el conjunto de clases que implementar el interface JDBC para una determinada base de datos.

Continue reading Listar los drivers con JDBC...

Java » Consultas SQL con parametros en Java JDBC

Agosto 1, 2007 por Víctor Cuervo . 18276 visitas 12 Comentarios Imprimir Imprimir

Contra una base de datos podemos ejecutar diferentes tipos de sentencias, desde una simple consulta, pasando por inserciones masivas, hasta una sentencia que aumente los permisos de un grupo de usuarios.

Continue reading Consultas SQL con parametros en Java JDBC...

Java » Insertar datos con JDBC

Junio 7, 2007 por Víctor Cuervo . 30590 visitas 23 Comentarios Imprimir Imprimir

Tenemos varias formas de hacer un insert contra una base de datos mediante JDBC. Pero la más sencilla de todas es ejecutar una sentencia INSERT de SQL.

Es por ello que lo primero que vamos a ver es la estructura de dicha sentencia:

INSERT INTO tabla (campo1, campo2,... campoN)
   VALUES (valor1, valor2,... valorN)

Continue reading Insertar datos con JDBC...

Java, Noticias Web » Liberado Java SE 6

Diciembre 17, 2006 por Víctor Cuervo . 4478 visitas Sin Comentarios Imprimir Imprimir

JavaHace unos pocos días SUN liberaba la nueva versión del lenguaje Java, Java SE 6. En esta nueva versión nos encontramos que Java ya no es el lenguaje exclusivo de la librería. Y es que una de sus novedades es la inclusión de JavaScripting (implementación del JSR 223), la cual hará que Java pueda convivir con otros lenguajes como JavaScript, Phyton, AWK, Ruby,... Otras novedades son JAX-WS 2, JDBC 4 (JSR 221),...

Danny Coward, "Platform Lead for Java SE", publicaba en su blog las 10 mejores características de Java SE 6, entre las cuales encontramos las siguientes:

  1. Mejora en el soporte de WebServices. Nuevo core JAX-WS 2.0 API y
    soporte para XML Binding (JAXB) 2.0.
  2. Soporte de lenguajes de script (JavaScript, Phyton, AWK, Ruby,...). Incluye el motor Mozilla Rhino.
  3. Bases de datos, actualización al estandar JDBC 4.0 e inclusión de Java DB (que es una base de datos Java del Apache Derby).
  4. Nuevas APIs de escritorio
  5. Mejoras en la monitorización y gestionabilidad.
  6. Acceso programático al compilador
  7. Capacidad de definir anotaciones y poder enchufarlas en el código para procesarlo.
  8. Despliegue en escritorio. Mejoras en la instación, integración con Windows Vista,...
  9. Seguridad. Integración con PKI, Java GSS, Kerberos,...
  10. Rendimiento. Mejoras en el rendimiento del doble dígito.

También puedes leer todas las características de Java SE 6 en ingles. Ahora, solo queda ponerse a trabajar con ello. A si que descargate Java SE 6.

Pero antes no dejes de ver el vídeo de presentación de Java SE 6 que se ha currado Danny Coward. No tiene precio.

Artículos relacionados:

Java » JDBC: Conectarse a una base de datos MS Access

Noviembre 27, 2006 por Víctor Cuervo . 34279 visitas 17 Comentarios Imprimir Imprimir

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.

Continue reading JDBC: Conectarse a una base de datos MS Access...

Java » Actualizar datos con JDBC

Noviembre 15, 2006 por Víctor Cuervo . 13190 visitas 4 Comentarios Imprimir Imprimir

Uno de los procesos habituales, a la hora de realizar mantenimiento sobre una tabla, es el de la actualización.

Mediante las actualizaciones podremos modificar los valores de datos que ya tengamos insertados en nuestras tablas.

Para este menester, SQL nos proporciona la sentencia UPDATE. Veamos un poco más en detalle como construir este tipo de sentencias.

UPDATE tabla SET campo=valor WHERE campo=condicio

Se actualizarán todas las filas que cumplan la condición (WHERE campo=condicion). Y la actualización consistirá en asignar nuevos valores a ciertas columnas (SET campo=valor).

Si queremos actualizar más de una columan, utilizaremos una coma entre cada actualización de campo.

UPDATE tabla SET campo1=valor1, campo2=valor2 WHERE campo=condicio

Para poder ejecutar la sentencia de UPDATE mediante JDBC deberemos de seguir los siguientes pasos. El primero de ellos será el de conectar contra la base de datos sobre la que queremos lanzar la actualización. Para ello utilizamos las clases Connection y DriverManager.

String sDriver = "com.mysql.jdbc.Driver";
String sURL = "jdbc:mysql://localhost:3306/lineadecodigo";
 
Class.forName(sDriver).newInstance();
con = DriverManager.getConnection(sURL,"root","password");

El proceso de conexión se divide en dos partes. La primera es donde se carga el driver de la base de datos. Es decir, el fichero que implementa el protocolo JDBC para la base de datos a la que estemos accediendo. En nuestro caso, al ser una base de datos MySQL, utilizamos "com.mysql.jdbc.Driver".

La segunda parte del proceso de conexión consiste en abrir una conexión contra la base de datos. Esto lo podemos conseguir mediante el DriverManager y el método .getConnection(). Dicho método requiere del usuario y password con el que nos estemos conectando a la base de datos. Así como la URL donde se encuentra la base de datos.

Una vez que tenemos la conexión preparamos la sentencia. Esto lo hacemos apoyandonos en la clase PreparedStatement. El PreparedStatement se utiliza cuando se va a realizar una sustitución de alguno de los valores de la condición, sino, se podría utilizar un Statement o directamente ejecutar la sentencia

PreparedStatement stmt;
stmt = con.prepareStatement("UPDATE tabla SET campo1=14 WHERE campoindice=?");
stmt.setString(1,"14");

Ya, solo nos quedará ejecutar la actualización. Para ello hay que ejecutar el método .executeUpdate() del PreparedStatement.

Dicho método devolverá el número de filas que se han actualizado. Será un valor entero de 0 al número de filas actualizadas.

int retorno = stmt.executeUpdate();

En el caso que en el proceso, desde la conexión a la ejecución de la sentencia, ocurriese un error, se produciría una excepción SQLException. Es por ello que no nos queda más remedio que capturar dicha excepción y ejecutar todo el código entre la sentencia try-catch.

Java » Borrado de Datos con JDBC

Noviembre 3, 2006 por Víctor Cuervo . 8246 visitas 2 Comentarios Imprimir Imprimir

Una de las operaciones que podemos realizar sobre una base de datos es el borrado de datos. Es decir, eliminar parte o la totalidad de la información contenida en una o varias tablas.

Para poder llevar esto a cabo fuera de un programa Java, por ejemplo, si estuviesemos en una consola de administración de la base de datos, nos bastaría con ejecutar una sentencia DELETE de SQL.

Por ejemplo:

-- Para borrar todos los registros
DELETE FROM Tabla
-- Para borrar un conjunto de registros
DELETE FROM Tabla WHERE campo = valor

En el caso de que queramos hacer esto desde un programa Java deberemos de utilizar el API JDBC (Java DataBase Connectivity). El cual nos abstrae los comandos propios de la base de datos en un interface único.

Los pasos que tenemos que seguir son los siguientes...

En primer lugar nos tenemos que conectar a la base de datos. Para ello utilizamos la clase Connection, que será la que mantenga la conexión y DriverManager para obtener la conexión.

Dependiendo del caso, es muy probable que tengamos que utilizar usuario/password para poder conectarnos a la base de datos. El código sería el siguiente:

  1. try{
  2. Class.forName(sDriver).newInstance();
  3. con = DriverManager.getConnection(sURL,"root","password");
  4. } catch (SQLException sqle) {
  5. sqle.printStackTrace();
  6. }

Una vez tengamos la conexión contra la base de datos pasaremos a ejecutar la sentencia. Para ello necesitamos de un objeto Statement que es el que tendrá la sentencia a ejecutar. Nuestro DELETE.

Para ejecutar la sentencia (percatarse que son dos pasos: preparar y ejecutar) tendremos que utilizar el método .executeUpdate() sobre el objeto Statement.

Statement stmt = con.prepareStatement("DELETE FROM Tabla");
int x = stmt.executeUpdate();

Los posibles valores que nos devolverá el método .executeUpdate() serán enteros. Puede ser el número de filas que se han borrado, si la ejecución del DELETE fue satisfactoria o cero si no se ha borrado nada.

En el caso de que se produzca un error se lanzará una SQLException que deberá de ser capturada por un try-catch.

Al final del todo, es muy buena costumbre el cerrar la conexión (Connection) y la sentencia (PreparedStatement).

stmt.close();
con.close();

Para leerse:

El API de consulta: