Archive for 2009

Jdbc getMetaData ampliado

lunes, junio 22nd, 2009

El driver de Oracle nos entrega lo que la espcificación obliga, pero internamente los comentarios los configura en null, para poder simular una consulta de forma de poder extraer los comentarios entonces se puede utilizar

SELECT NULL AS table_cat,
o.owner AS table_schem,
o.object_name AS table_name,
o.object_type AS table_type,
C.COMMENTS AS remarks
FROM all_objects o,ALL_TAB_COMMENTS C
WHERE o.owner LIKE 'tu_esquema' ESCAPE '/'
AND o.object_type IN ('xxx', 'TABLE', 'VIEW')
AND o.owner= c.owner
AND o.object_name= c.table_name
ORDER BY table_type, table_schem, table_name

Windows Batch para respaldo

viernes, junio 19th, 2009

Este es un archivo llamado backup.cmd que utilizo para respaldar una base de datos y el repositorio de subversion, estando programada para correr diariamente, primero extrae la fecha, crea una carpeta, y crea los backup dentro de la carpeta

FOR /F "TOKENS=1* DELIMS= " %%A IN ('DATE/T') DO SET CDATE=%%B
FOR /F "TOKENS=1,2 eol=/ DELIMS=/ " %%A IN ('DATE/T') DO SET mm=%%B
FOR /F "TOKENS=1,2 DELIMS=/ eol=/" %%A IN ('echo %CDATE%') DO SET dd=%%B
FOR /F "TOKENS=2,3 DELIMS=/ " %%A IN ('echo %CDATE%') DO SET yyyy=%%B
SET date=%yyyy%%mm%%dd%
mkdir d:\backup\%date%
exp system/password@SID file=d:\backup\%date%\ora_esquema%date%.dmp owner=esquema
"C:\Program Files (x86)\VisualSVN Server\bin\svnadmin.exe" dump D:\SubVersionRepo\proyecto > d:\backup\%date%\svn_proyecto%date%.dump

Instalando Jasper Server como servicio

martes, marzo 10th, 2009

En la empresa en que trabajo se ha decidido probar Jasper Server, el cual nos podrá servir para un par de proyectos en el futuro. La instalación es bastante sencilla, sobre todo si tienes instalado Apache Tomcat y MySQL, si no los tienes el instalador los instalará por ti. Aqui surge un problema, sucede en que jasperctl.bat no tiene una ‘formula’ de instalar como servicio a JasperServer (que en algunos servicios se provee línea de comando de fácil instalación), por lo que puedo indicar una serie de pasos que yo segui para una instalacion exitosa.

1. Para instalar apache tomcat como servicio solo debes ejecutar un archivo .bat llamado service.bat, si instalas completo JasperServer esta se encontrara en <ruta a jasperserver>/apache-tomcat/bin/, luego de esto en línea de comando solo ejecutas

service install

y te aparecerá un mensaje indicandote que quedó inslalado como servicio.

Aqui me surgio un problema, JasperServer viene con la version de java de 32bits y la máquina y sistema operativo que poseemos es de Windows 2003 Server R2 64Bits, esto implico que al tratar de hacer funcionar el servicio me dio uin  error, que en el event log se vé como

The Apache Tomcat terminated with service-specific error 0(0x0)

La solucion fue «mentirle» al servidor.

2. (Paso obligatorio para Windows 64 bits) Primero debes instalar la versión de Java 64bits desde java.sun.com, esto realmente es necesario ya que si no el siguiente paso no funcionará.

3. (Paso obligatorio para Windows 64 bits)  Luego descarga desde el SVN de Apache Tomcat la version tomcat6.exe y tomcat6w.exe para amd64 (que es el ‘nombre clave’ para el tipo de procesador de 64bits, o sea, para intel 64bits es el mismo, el otro llamado ia32 es para itanium).  Luego copialos en la carpeta bin de apache-tomcat (mencionada anteriormente) que viene con jasperReport cambiandoles previamente el nombre a tomcat5.exe y tomcat5w.exe respectivamente.

4. (Paso opcional si ya instalaste el servicio) Ahora desintala el servicio si ya lo habias instalado con

service remove

5. (Paso opcional, si desinstalaste el servicio porque no te funciono) Vuelve a ejecutar

service install

6. Luego de esto al arrancar desde la consola de servicios a Apache Tomcat me funcionó.

Aquí surgió otro problema, al acceder al sitio por defecto del servidor de jasper server

https://<servidor>:<puerto>/jasperserver-pro/

Me reclamó por la licencia de jasper server ¿yo recién descargue una version de pruebas de treinta días?

Lo que sucedió es que como ya había ejecutado a través de línea de comando a JasperServer me creó un archivo jasperserver.license en carpeta de Administrator de Documents and Settings y ahora me decía que no la encontraba.

7. Copia este el archivo jasperserver.license en  Default User dentro de Documents and Settings te funcionará correctamente.

Te metes nuevamente a tu servidor y… Woops! falta una cosa…

8. Para instalar mysql como servicio solo ubicate en la carpeta bin de mysql que debería estar en <ruta a jasperserver>/mysql/bin/ y ejecuta los siguientes comandos

mysqld-nt –install
NET START MySql

y ahora todo quedo instalado como servicio, puedes salir de la sesión, y acceder tu JasperServer.

Backup subversion

viernes, febrero 27th, 2009

Para hacer una backup de subversion debes tener la ruta del repositorio y poder ejecutar el comando svnadmin, la linea de ejecucion sería

svnadmin dump /ruta/al/repositorio > /destino/repositorioAAAAMMDD.dump

Para poder extraer este dump

svnadmin load /ruta/al/repositorio < /destino/repositorioAAAAMMDD.dump

<html:select>

miércoles, febrero 25th, 2009

La etiqueta <html:select> se utiliza para crear listas de seleccion. En el caso de que estes utilizando un ActionForm esta etiqueta utilizara el valor de la propiedad del form para establecer el “selected” en el codigo renderizado como html. Por lo tanto el siguiente codigo

<html:select styleClass=”field select” property=”funcional” size=”1″>
<html:option value=”S”>Si</html:option>
<html:option value=”N”>No</html:option>
</html:select>

produce el siguiente codigo, asumiendo que la propiedad llamada “funcional” dentro del formulario esta establecida en “S”

<select name=”funcional” size=”1″ class=”field select”>
<option value=”S” selected=”selected”>Si</option>
<option value=”N”>No</option>
</select>

(Actualización)

Existe ademas la posibilidad de establecer colec ciones denro de la etiqueta, esta etiqueta asume que los opbjetos de la colección se LaberlBean, pero en el caso que tu tengas un objeto con sus respectivos getter y setter puedes configurar la etiqueta de la siguiente forma

<html:select styleClass=”field select” property=”tablaCnecAsociada” size=”1″>
<html:options collection=”listaTablaCnec” property=”codigo”
 labelName=”TablaCapitalNecVO” labelProperty=”nombre” />
</html:select>

en este caso se esta usando como valor el codigo, que es un atributo de un objeto llamado TablaCapitalNecVO, desplegandose su atributo nombre dentro de la lista.

Componentes Firefox para desarrollo web

miércoles, febrero 25th, 2009

Dentro de las cosas que se debe poseer para acelerar el desarrollo web es realmente util para no decir impresindible contar con un par de herramientas paradetectar problemas o resolver situaciones que pueden parecer triviales pero que desgastan bastante tiempo. Para ello existen algunos complementos que ayudan a esta labor.

Webdeveloper. permite las más variadas combinaciones para desarrollo web, habilitar javascript, ver CSS, validar HTML, CSS y monton de cosas más.
Firebug. Permite revision de codigo dentro de una página, en realidad es mucho mas que eso.
Abduction. Guarda la pagina como imagen, util para cuando quieres documentar tu sistema.
Mesureit. Permite medir dentro de la misma ventana un componente de la pagina.
Colorzilla. Extrae especificamente el colo desde un punto indicado.
Palette graber. Extrae la paleta de colores y la guarda para ser utilizada por otros programas entre ellos PhotoShop o GIMP
Firesizer. Es útil para probar las paginas web en distintas medidas del navegador. Yo con buena vista 1440×900 no es complicado, pero existen restricciones impuestas por clientes que aun rayan en los 800×600 como especificacion de tamaño estandar para sus sitios.