Archive for the ‘Desarrollo’ Category

Ejecutar un script desde SQLPlus de Oracle

jueves, noviembre 26th, 2009

Luego de haberse loeado a SQL Plus de oracle la forma inmediata de ejecutar un script es

SQL >  @{file}

O sea

SQL >  @insertTablaX.sql

por ejemplo. Si recibes error de archivo no encontrado intenta introduciendo la ruta completa

SQL >  @d:/opt/scripts/inserttablaX.sql

Diferencias entre systimestamp y sysdate en Oracle

martes, noviembre 17th, 2009

Tengan cuidado al usar systimestamp y sysdate en Oracle, esto porque existe una pequeña diferencia al momento de tratar de presentar informacion:

SELECT TO_CHAR(systimestamp, 'DD/MM/YYYY HH24:MI:SS.FF3') FROM dual;
SELECT TO_CHAR(sysdate, 'DD/MM/YYYY HH24:MI:SS.FF3') FROM dual;

Estas dos sentencias son diferentes, la primera te entrega la fecha hasta los milisegundos y la segunda da error. Esto porque sysdate solo guarda hasta el segundo, no considera los milisegundos.

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

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.