jueves, 29 de octubre de 2009

Configurar Oracle XE para que conecte correctamente Forms 6i

Por defecto Oracle XE se instala con el juego de caracteres AL32UTF8, con ese juego de caracteres el cliente de Oracle Forms 6i no conecta con la base de datos, para migrar ese juego de caracteres a UTF8 puro debemos de ejecutar lo siguiente:

sqlplus /nolog
SQL> connect / as sysdba
Conectado.
SQL> shutdown immediate
SQL> startup restrict
SQL> alter database character set internal_use UTF8;
SQL> shutdown immediate
SQL> startup

Hay ciertos índices que Oracle si existen no puede realizarse la conversión ya que dará el siguiente error:


ORA-00604: error occurred at recursive SQL level 1
ORA-54028: cannot change the HIDDEN/VISIBLE property of a virtual column

Podemos ver los índices incompatibles mediante esta SELECT:

SELECT owner, index_name, index_type, table_owner, table_name, status, funcidx_status
  FROM all_indexes
 WHERE index_type NOT IN ('NORMAL', 'BITMAP', 'IOT - TOP')
   AND table_name IN (SELECT UNIQUE (table_name)
                        FROM dba_tab_columns
                       WHERE char_used = 'C');

Hay que borrarlos y luego volver a crearlos una vez convertido a UTF8.

martes, 20 de octubre de 2009

Problemas de rendimiento de Forms10g con antivirus NOD32

El antivirus NOD32 tiene activado por defecto la opción analizar todo el tráfico HTTP, lo que hace ralentizar tremendamente el funcionamiento de las aplicaciones en Forms 10g (por lo menos en la versión 4.0.314.0).

Para desactivar ese control hay que abrir NOD32, ir a Configuración, pinchar en "Muestra las opciones avanzadas de configuración" y en la sección "Antivirus y antiespía" -> "Protección del tráfico de Internet" -> "HTTP, HTTPS" y desactivar la check "Activar el análisis HTTP".

Evidentemente es un fallo de NOD32 ya que Forms10g por defecto usa el puerto 7778 y los puertos que en teoría analiza por defecto son los 80, 8080 y 3128. Además si configuramos excluir algunas direcciones no soluciona nada, la única opción es desactivar totalmente el análisis http.