Mostrando entradas con la etiqueta problema. Mostrar todas las entradas
Mostrando entradas con la etiqueta problema. Mostrar todas las entradas

jueves, 6 de agosto de 2009

Problema con Netbeans 6.7.1 y Sybase. Conexiones SQL

Hace poco que actualicé mi versión de Netbeans de la 6.5 a la 6.7.1 y para ser sinceros mi vida era muy feliz. La interfaz no ha cambiado mucho y sin embargo han agregado un buen número de nuevos plug-ins dentro de la lista inicial y han actualizado la mayoria de los frameworks con los que trabaja. Aunque aún no logro entender por qué no pusieron la última versión de Struts (2.0), pues al menos lo actualizaron a 1.8 o algo así.

El chiste es que luego de tener que descargar la Struts 1.7 y agregárselo a mis proyectos web, ya que Netbeans no me indicaba problemas de referencias, pero no podía incluir el mentado Struts 1.7 sin que yo lo hiciera manualmente, me di a la tarea de dejar mi ambiente de trabajo más o menos igual al que tenía antes del cambio; lo cual no fue tan complicado como esperaba.

Bueno, salvo dicho problema y algúno que otro plugin que perdí con el cambio de mi compu a una Vostro 1520; no hubo muchos problemas con el netbeans 6.7.1. Claro, hasta hoy!!!

No puedo creer que algo tan simple como un:

select * from tabla

no pueda funcionar. El problema sucede en particular con una conexión a una base de datos Sybase y antes de venir y gritarlo, pues hice mis pruebas con dos versiones del driver de Sybase; en particular 5.5 y 6.0.1 y con ninguno llegó a funcionar. Por otro lado las conexiones con MySql, Oracle y Postgres funcionan igual que antes. Cabe mencionar que dicha conexion con Sybase ya la tenía funcionando con el driver 5.5 que acabo de mencionar. Es decir, no es el dirver y no es la base de datos; quizá mi instalación aunque sigo pensando que es un bug del Netbeans. La conexión también se realiza sin problemas y la ventana de Servicios y el navegador de bases de datos muestra perfectamente el esquema de la base e incluso soy capaz de consultar las propiedades de las tablas y las columnas, todo el problema sucede cuando quiero ejecutar cuaquier línea de SQL.

Espero que para el siguiente release del Netbeans corrijan todos sus problemas con las conexiones y el manejo de base de datos, que hasta hace poco yo consideraba lo suficientemente sencillo como para tareas básicas y ejecutar código SQL.

En fin, dejo el mentado error por si a alguien le interesa:

Line 1, column 1

Execution finished after 0.016 s, 1 error(s) occurred.

Por supuesto el código de error no deja lugar a dudas que lo que está mal está en la línea 1 y en la columna 1. jeje. :p

Saludos y espero poder reportar este bug a la lista correspondiente.

viernes, 8 de mayo de 2009

Misterio de 5 minutos.

Ambiente: Aplicación web en Java y struts.

La excepción:

javax.servlet.jsp.JspException: Invalid argument looking up property: rol.tipoRol of bean: "org.apache.struts.taglib.html.BEAN"

Descripción.

Pues bueno resulta que haciendo unas pruebas aqui en el trabajo un amigo se encontró con el la excepción anterior mientras usaba una forma de struts del tipo RegistrarCedulaAF que contenía un objeto del tipo Rol que dentro de él contenía la propiedad tipoRol y la estaba usando en una etiqueta del jsp del siguiente modo:

<html:text property="rol.tipoRol" readonly="true"/>

Por supuesto que habíamos declarado la forma en el struts-config y todos los getters y setters se encontraban bien escritos, pero al momento de correr la prueba nos aparecía el misterioso mensaje anterior. Luego de unos minutos tratando de adivinar si nuestras clases tenían sus respectivos métodos de get y set bien construidos y descubrir que estaban como deberían de estar, tanto con las clases como con el archivo de struts-config de la aplicación y que todo estuviera en orden, estuvimos a punto de darnos por vencidos cuando descubrimos la causa del problema.

Resulta que la forma RegistrarCedulaAF se inicializaba correctamente, pero en ningún momento inicializamos su atritubo Rol por lo que éste se encontraba en null cuando la forma era creada por struts y al parecer struts no es tan listo como para diferenciar entre que queremos utilizar una propiedad de un objeto en null o que queremos buscar un atributo de la forma que no existe, por lo que envía un error de que no encuentra la propiedad rol.tipoRol en la forma, en lugar de mandarnos un mensaje de nullpointer excepcion (aunque a decir verdad no sé que tan dificil sea notar la diferencia entre estas dos situaciones.)

Para resolver el problema basta con tener inicializado el objeto Rol que pertenece a la forma en el momento de solicitar su propiedad tipoRol, de otra manera aparecerá el mensaje mencionado.

Esa fue la lección de hoy. Espero pronto poder escribir otra lección aprendida sobre struts y unos cambios en una forma que no son registrados mediante un html:link y javascript.

Saludos.

Eliminar la contraseña de un archivo pdf en línea

¿Conoces la contraseña de un archivo pdf y quieres eliminarla para compartirlo con otras personas? Hace poco estuve probando diferentes h...