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

miércoles, 9 de junio de 2010

Error ORA-00997 en una consulta con Oracle

Buenas noches estimados, hoy les comentaré un error con el que me topé durante el desarrollo de una sencilla aplicación en Java que se conectaba a una BD en Oracle y en la que hacía una consulta a una tabla con un campo de tipo LONG (OJO! LONG como tipo de Oracle, que es una versión muy grande del tipo de dato VARCHAR2, y que ha entrado en desuso en favor del tipo de dato BLOB).
Tras ejecutar la consulta en cuestión, el manejador me devolvía el siguiente error:
ORA-00997: Illegal use of LONG datatype
Un poco desconcertante al principio, pero investigando un poco pude encontrar la solución al mismo, resulta que este tipo de dato no se puede incluir en consultas que contengan DISTINCT ó cláusulas WHERE de tipo CONNECT BY, GROUP BY u ORDER BY; sólo debe ser utilizado en consultas sencillas de tipo SELECT. Y mi consulta tenía un DISTINCT.
Luego de intentar muchas veces convertirlo en otro tipo de datos, me di por vencido, y tuve que hacer una consulta sólo para el campo con el tipo de datos LONG.
Espero que esto le sirva a alguno, como me sirvió a mí.
Saludos...

Fuentes: ora-code, ss64.

jueves, 29 de mayo de 2008

Aprendiendo JSF, mejor que Struts...??

Buenas tardes amigos, en esta oportunidad les quiero comentar acerca de una tecnología que me ha parecido sumamente poderosa para aquellos que, como yo, desarrollamos aplicaciones Web utilizando Java. Me refiero a Java Server Faces o JSF.
Esta tecnología viene a ser algo así como una evolución de Struts, aunque no nace directamente de ella, pero mucho más poderosa. Al igual que Struts se basa en archivos de configuración XML para indicarle a la aplicación la estructura de navegación de las páginas, sin embargo, la diferencia radica en que JSF posee etiquetas de más alto nivel que Struts, por ejemplo, puedes crear un TextGrid con una sola instrucción.
Otra de las bondades de JSF está en el parecido que tiene a la programación de interfaces para aplicaciones stand-alone con Swing, y es que JSF te permite tener un JavaBean que maneje los eventos que se producen en una página con controles de formulario HTML, es decir, se pueden programar Listeners para las acciones que se deben llevar a cabo en una página.
Asimismo, la estructura de navegación implementada en el faces-config.xml resulta hasta más sencilla de comprender que la de Struts, sin embargo, Struts también es una tecnología poderosa y con una gran cantidad de etiquetas implementadas por terceros (como es el caso de DisplayTag) que le dan mucha flexibilidad.
Bueno, para los interesados en aprender JSF, aquí les dejo un pequeño tutorial en español, para iniciarse. Sin embargo, de querer algo de más alto nivel de complejidad, podrían contactarme para darles un tutorial (en inglés) que está mucho más completo.
Tutorial corto para iniciarse en JSF (en español), aquí.
Tutorial de JSF para profesionales (en inglés), contactarme a mi correo.