The moment your Form logs into the Oracle Database and an error occurs, for example when your password has been expired, it is no longer possible to retrieve the error from the database. With older version of the database it still worked and the Headstart error message could be retreived. The 10gR2 database has become more secure and when the error can not be retrieved it will result in a FRM-92xxx error.
I changed the on-error trigger in the template(qms65tpl) by adding the following code
ON-ERROR
-- ORA-28001 - account expired
-- ORA-01017 - invalid username/password
-- ORA-00988 - missing or invalid password
-- FRM-92100 - passwords do not match
begin
if (ERROR_TYPE = 'ORA' and to_char(ERROR_CODE) = '28001')
or (ERROR_TYPE = 'ORA' and to_char(ERROR_CODE) = '1017')
or (ERROR_TYPE = 'ORA' and to_char(ERROR_CODE) = '988' )
or (ERROR_TYPE = 'FRM' and to_char(ERROR_CODE) = '92110')
then
message (ERROR_TYPE||'-'||to_char(ERROR_CODE)||': '||ERROR_TEXT);
else
qms$event_form('ON-ERROR');
end if;
end;
0 reacties:
Post a Comment