Mensajes de error en Oracle

angellvl
21 de Abril del 2005
Hola, me guatar铆a poder mostrar el mensaje de una excepci贸n de oracle sin que aparezca el t铆pico "ORA-20100: ...." que acompa帽a a la excepci贸n. La 煤nica forma que se me ocurre es delimitando el mensaje entre caracteres como por ejemplo # para luego mostrar solo lo que va entre esos caracteres. Se le ocurre a alguien otra forma?

Gracias por las respuestas

Juanra
21 de Abril del 2005
En los disparadores a nivel de formulario puedes a帽adir un disparador llamado ON_ERROR. Dentro de este te aconsejo que utilices:
IF ERROR_CODE = (el codigo de error que quieras) THEN
En esta parte muestras una alerta con SHOW_ALERT(nombrealerta), para ello tienes que tener creada una alerta con el mensaje personalizado que tu le pongas.
END IF;

Repite este bloque IF con todos los errores que quieras personalizar en el disparador ON_ERROR

angellvl
21 de Abril del 2005
Gracias por tu respuesta :-). Deber铆a haber comentado que se trata de una aplicaci贸n asp.net en C#. Seg煤n lo que me comentas tendr铆a que mostrar el mensaje de error en funci贸n del c贸digo de error. En .net tengo la clase OracleException que me da ese c贸digo de error, pero entonces tendr铆a que tener mapeado de alguna forma el c贸digo de error con el mensaje asociado. Otro problema es por ejemplo los mensajes de error dinamico al estilo:

raise_application_error(-20100,'Error en el registro con ID: '||id);

Si mapeamos el codigo de error con un mensaje fijo nunca podriamos mostrar el mensaje de error que queremos mostrar (en este caso el id del registro que fall贸).

De momento he solucionado el problema poniendo entre # el mensaje de error y al capturar la excepci贸n en .net por medio de una expresi贸n regular obtengo el mensaje. No se si es la mejor soluci贸n... Si a alguien se le ocurre otra :o)

Saludos,