sábado, 15 de diciembre de 2007

Sobre Java

Con Java he solucionado un problemita q tenia, y solo con programar una aplicacion utilizando el objeto java.util.Timer timer = new java.util.Timer();
Les explico aqui
Sucedia que los usuarios suben archivos de texto comprimidos diariamente a un servidor web, y este archivo debe descomprimirse, leerse y trasladarse a una tabla en un servidor de base de datos, entonces desarrolle una aplicacion que se autoejecute cada 5 minutos, descomprima y lea el archivo linea a linea validandose y sea traslado a la base de datos.
La aplicacion esta instalada en el servidor web y hace su trabajo de manera independiente.

LOS REPORTES EN JAVA

Bueno les comento que en mi trabajo utilizo JBuilder para desarrollar aplicaciones Java y la integracion con Jasper Report para ejecutar reportes, y una de las herramientas que uso para diseñar los reportes es iReport.
Para la conexion a la base de datos MySql es necesario contar con el Driver JDBC y listo.

Aqui las librerias para cargar un reporte jasper en JBuilder
import net.sf.jasperreports.engine.*;
import net.sf.jasperreports.view.JasperViewer;
import net.sf.jasperreports.engine.jasperPrint;
import net.sf.jasperreports.engine.jasperReport;

JasperViewer jv = null; // Variable global para ese objeto

CLASE PARA LLAMAR UN REPORTE

void cargar_reporte(String archivo_reporte) {
try {
JasperReport jasperReport = JasperManager.loadReport(archivo_reporte);
Map parameters = new HashMap();
parameters.put("periodo", parametro1);

parameters.put("usuario", parametro2);
JasperPrint jasperPrint = JasperManager.fillReport(jasperReport, parameters, database1.getJdbcConnection());
this.hide();
jv = new JasperViewer(jasperPrint, false);
jv.addWindowListener(new java.awt.event.WindowAdapter() {
public void windowClosing(java.awt.event.WindowEvent evt) {
jv.dispose();
jv = null;
}
});
jv.setVisible(true);
}
catch (JRException e2) {
JOptionPane.showMessageDialog(this, "Error : " + e2, "Error", JOptionPane.ERROR_MESSAGE); }
catch (Exception e3) {
JOptionPane.showMessageDialog(this, "Error : " + e3, "Error", JOptionPane.ERROR_MESSAGE);
} }


Aqui la descripcion del objeto database y su coneccion a la base de datos Mysql


database1.setConnection(new com.borland.dx.sql.dataset.ConnectionDescriptor("jdbc:mysql://localhost:3306/basededatos?", "usuario", "password", false, "com.mysql.jdbc.Driver"));

No hay comentarios: