Por lo general, al intentar arranca Reports Builder en un Windows de 64 bits nos dará el siguiente error: "REP-50125: rwbuilder.conf:java.lang.NullPointerException"
Vamos a ver como solucionarlo suponiendo que el directorio base de Oracle es C:\Oracle (si fuese otro las rutas cambian).
Editar el archivo: C:\Oracle\Middleware\asinst_1\config\reports\bin\reports.bat
Borrar la línea: set TNS_ADMIN=%ORACLE_INSTANCE%\config
Editar el archivo: C:\Oracle\Middleware\Oracle_FRHome1\bin\rwbuilder.bat
Cambiar: $$Instance.directory$$ por: C:\Oracle\Middleware\asinst_1
Cambiar: $$Instance.oracle_home$$ por: C:\Oracle\Middleware\Oracle_FRHome1
Para arrancar el Report Builder ejecutaremos un archivo de comandos con código similar al siguiente: ReportsBuilderF11g.cmd. (Las rutas pueden variar según donde estén las plls o instalado Oracle):
SET CLASSPATH=C:\Oracle\Middleware\Oracle_FRHome1\forms\j2ee\frmsrv.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\ldapjclnt11.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\debugger.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\ewt3.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\share.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\utj.jar;C:\Oracle\Middleware\Oracle_FRHome1\jlib\zrclient.jar;C:\Oracle\Middleware\Oracle_FRHome1\reports\jlib\rwrun.jar;C:\Oracle\Middleware\Oracle_FRHome1\forms\java\frmwebutil.jar;C:\Oracle\Middleware\Oracle_FRHome1/jlib/start_dejvm.jar;C:\Oracle\Middleware\Oracle_FRHome1\opmn\lib\optic.jar
SET PATH=C:\Oracle\Middleware\Oracle_FRHome1\bin;C:\Oracle\Middleware\Oracle_FRHome1\jdk\jre\bin\client;C:\Oracle\Middleware\Oracle_FRHome1\jdk\bin
SET REPORTS_PATH=Z:\plls
SET NLS_DATE_FORMAT=DD/MM/YYYY
SET NLS_NUMERIC_CHARACTERS=,.
SET UI_ICON=Z:\iconos
SET NLS_SORT=BINARY
SET TNS_ADMIN=C:\Oracle
SET NLS_LANG=SPANISH_SPAIN.UTF8
start rwbuilder.bat USERID=USUARIO/PASSWORD@CADENA_CONEXION
domingo, 8 de febrero de 2015
martes, 25 de marzo de 2014
Generación incorrecta de PDF en Reports 6 en Windows 7 y 8
Al generar archivos desde Reports 6 en PDF en sistemas operativos Windows 7 y Windows 8 está metiendo mal la etiqueta "CreatorDate", abre el paréntesis y sin meter la fecha no lo llega a cerrar. Esto produce que alguna versión de Adobe Reader y de otros visores de PDF no sean capaces de leer el archivo.
Ese mismo PDF generado con el mismo parche de Forms & Reports en un Windows 2003 lo genera correctamente:
Para solucionarlo podemos hacer que no intente meter la línea /CreatorDate modificando la librería RWLIB60.DLL. Para ello necesitaremos un editor Hexadecimal para poder editarla, yo utilizo "HxD - Editor Hexadecimal", que se puede descargar de su página web: http://www.mh-nexus.de.
Abrimos la librería y buscamos (Ctrol + F) el texto CreatorDate
Seleccionamos desde /CreatorDate hasta el punto que está antes de /Author, tal y como se muestra en la siguiente imagen:
Luego hay que ir a Edición -> Rellenar Selección
En la ventana que abre, dejamos 00 en Valores hexadecimales y pulsamos "Aceptar".
Grabamos la librería, y ahora el resultado de la generación con este cambio será el siguiente:
viernes, 17 de enero de 2014
Conexión a webs con Applets de Java sin MANIFEST.MF correcto
Ya ha llegado la actualización 1.7.0_45 de Java. Esta actualización bloquea por defecto todas las aplicaciones que se despliegan desde un navegador que no tengan las últimas directivas de seguridad definidas en el archivo MANIFEST.MF
Para salir del paso, es posible, en el equipo donde corre el navegador añadir excepciones a esa validación. Para ello (en Windows) vamos a Panel de Control -> Programas (Si tenemos activado "Ver por: Categoría) -> Java
En la pestaña "Seguridad" en la sección "Lista de excepciones de sitios" pulsamos sobre el botón "Editar lista de sitios" y añadimos el sitio en que confiamos de que no nos vaya a ejecutar nada peligroso en nuestro equipo.
He puesto como ejemplo "https://www.bbva.es", ya que a día de hoy para validarse con el DNI electrónico usa un applet Java que no tiene el MANIFEST.MF correcto, y lo peor de todo, cuando vas a validar una operación da un error de error de firma del archivo.
Para salir del paso, es posible, en el equipo donde corre el navegador añadir excepciones a esa validación. Para ello (en Windows) vamos a Panel de Control -> Programas (Si tenemos activado "Ver por: Categoría) -> Java
En la pestaña "Seguridad" en la sección "Lista de excepciones de sitios" pulsamos sobre el botón "Editar lista de sitios" y añadimos el sitio en que confiamos de que no nos vaya a ejecutar nada peligroso en nuestro equipo.
He puesto como ejemplo "https://www.bbva.es", ya que a día de hoy para validarse con el DNI electrónico usa un applet Java que no tiene el MANIFEST.MF correcto, y lo peor de todo, cuando vas a validar una operación da un error de error de firma del archivo.
viernes, 15 de noviembre de 2013
Almacenar la contraseña de Weblogic de forma persistente
Por defecto, cada vez que se arranca Weblogic y los servidores manejados WLS_FORMS y WLS_REPORTS nos solicita la contraseña de weblogic:
La forma de guardar la contraseña en un archivo y evitar que la pida en cada arranque es muy simple: hay que crear un archivo con el nombre "boot.properties" en las siguientes carpetas:
La forma de guardar la contraseña en un archivo y evitar que la pida en cada arranque es muy simple: hay que crear un archivo con el nombre "boot.properties" en las siguientes carpetas:
- $DOMAIN_HOME/servers/AdminServer/security
- $DOMAIN_HOME/servers/WLS_FORMS/security
- $DOMAIN_HOME/servers/WLS_REPORTS/security
El archivo tiene que contener únicamente dos líneas:
username=weblogic
password=
En el archivo metemos la contraseña en texto plano, pero en el primer arranque la encripta.
viernes, 18 de octubre de 2013
Problemas para Forms 11g en próximas actualizaciones de Java
Al actualizar a la última actualización de Java 7, el parche 45 (1.7.0_45), al mostrar la advertencia de seguridad sobre los JAR firmados acompaña el siguiente texto: "Esta aplicación estará bloqueada en una futura actualización de seguridad de Java porque el archivo MANIFEST de JAR no contiene el atributo de permisos. Póngase en contacto con el publicador para obtener más información".
¿Qué significa esto?, pues que a partir de ahora y cuando Oracle quiera, sacará una actualización de Java (no necesariamente en el próximo parche) que dejará a nuestros Forms KO.
Ya hace unos cuantos parches que en la consola de Java ya lo estaba advirtiendo al cargar los archivos, pero la mayoría hizo caso omiso a ello.
Los archivos JAR dentro de la carpeta META-INF tienen que tener el archivo MANIFEST.MF con las siguientes líneas (puede haber más):
Codebase: *
Permissions: all-permissions
¿Cómo solucionarlo?, en mi caso tengo 3 tipo de JARS, los propios de Oracle, JARS propios y JARS de terceros.
¿Qué significa esto?, pues que a partir de ahora y cuando Oracle quiera, sacará una actualización de Java (no necesariamente en el próximo parche) que dejará a nuestros Forms KO.
Ya hace unos cuantos parches que en la consola de Java ya lo estaba advirtiendo al cargar los archivos, pero la mayoría hizo caso omiso a ello.
Los archivos JAR dentro de la carpeta META-INF tienen que tener el archivo MANIFEST.MF con las siguientes líneas (puede haber más):
Codebase: *
Permissions: all-permissions
¿Cómo solucionarlo?, en mi caso tengo 3 tipo de JARS, los propios de Oracle, JARS propios y JARS de terceros.
- Los propios de Oracle (frmall.jar, frmgeneric_laf.jar, frmmain.jar, frmoracle_laf.jar, frmresources.jar, frmwebutil.jar): Para estos Oracle ha publicado un parche que incluye el MANIFEST correcto, el parche es el 16837591 que se puede bajar del Metalink. Si no tienes acceso al Metalink puedes hacer lo mismo que explico con JARS de terceros.
- JARS Propios. Estos los voy a dividir en 2 grupos (los de iconos y los generados con JDeveloper).
- Iconos: Creamos un archivo MANIFEST.TXT en cualquier ubicación de nuestro disco, por ejemplo, C:\Temp\MANIFEST.TXT con el siguiente contenido:
Manifest-Version: 1.0
Codebase: *
Created-By: 1.6.0_35 (Sun Microsystems Inc.)
Permissions: all-permissions
- Generar el archivo JAR con el siguiente comando (suponemos que los iconos están en C:\Temp\iconos): jar cvfm c:\temp\archivoiconos.jar c:\MANIFEST.TXT C:\temp\iconos\*.gif
- Jars desplegados con JDeveloper. Creamos un archivo dentro del proyecto de JDeveloper de texto plano con el siguiente contenido (NOTA: Hay que dejar un retorno de carro al final para que al hacer el despliegue meta las 2 líneas):
Codebase: *
Permissions: all-permissions
- Al configurar el despliegue del archivo JAR, marcamos la check "Include Manifest File (META-INF/MANIFEST.MF) he indicamos en "Additional Manifest Files to Merge into MANIFEST.MF" la ruta al archivo que hemos creado anteriormente.
- JARS de Terceros: Lo que hice en este caso, es descomprimirlos, modificar el MANIFEST.MF, borrar la firma que estaba en la carpeta META-INF, volver a comprimirlos en formato ZIP y luego cambiar la extensión a ".jar". Luego los volví a firmar con mi certificado de firma de código.
Una vez tenemos los JAR con el MANIFEST correcto y perfectamente firmados, los volvemos a colocar en $ORACLE_HOME/forms/java y reiniciamos el servicio de WLS_FORMS:
$DOMAIN_HOME/bin/stopManagedWebLogic.sh WLS_FORMS
$DOMAIN_HOME/bin/startManagedWebLogic.sh WLS_FORMS&
miércoles, 14 de agosto de 2013
Problema de arranque de Forms en Forms 11g
En algunos equipos me he encontrado el caso de que al intentar iniciar la aplicación desarrollada en Forms 11g, la pantalla del navegador se quedaba en blanco y no llegaba a cargar nunca. En estos casos lo primero que hay que hacer es borrar los "Archivos Temporales de Internet" de Java (Panel de Control -> Programas -> Java -> Botón Configuración -> Suprimir Archivos -> Marcar todas las checks y aceptar)
De paso que estamos ahí, comprobamos en la pestaña "Seguridad" que está marcada la check "Activar el contenido Java en el explorador".
Luego cerramos el navegador de Internet y lo volvemos a iniciar. Si aún así no funciona, hay que borrar la carpeta C:\Users\xxxxx\AppData\LocalLow\Sun\Java (cambiando xxxxx por el usuario correspondiente) y reiniciar el equipo completo.
Luego cerramos el navegador de Internet y lo volvemos a iniciar. Si aún así no funciona, hay que borrar la carpeta C:\Users\xxxxx\AppData\LocalLow\Sun\Java (cambiando xxxxx por el usuario correspondiente) y reiniciar el equipo completo.
miércoles, 10 de julio de 2013
Forms 6 en Oracle 12c
Al conectar Forms 6 con un Oracle 12c nos dará el siguiente mensaje de error y no nos dejará conectar:
ORA-28040: No coincide ningún protocolo de autenticación
El problema es que Oracle 12c por defecto bloquea los clientes de la versión 8 de Oracle, para habilitarlo hay que añadir en el archivo sqlnet.ora de la base de datos las siguientes líneas:
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
ORA-28040: No coincide ningún protocolo de autenticación
El problema es que Oracle 12c por defecto bloquea los clientes de la versión 8 de Oracle, para habilitarlo hay que añadir en el archivo sqlnet.ora de la base de datos las siguientes líneas:
SQLNET.ALLOWED_LOGON_VERSION_CLIENT=8
SQLNET.ALLOWED_LOGON_VERSION_SERVER=8
Una vez añadidas ya podemos conectar y usar cualquier producto de Oracle 8.
No he detectado ningún tipo de problema, pero hay que aclarar que esta configuración no está certificada por Oracle.
Las pruebas las he realizado con el parche 17 de Forms (6.0.8.26.0) en su versión Cliente / Servidor.
Suscribirse a:
Entradas (Atom)














