sexta-feira, 6 de julho de 2012

Tratando excessões no Oracle via código de erro

A solução é declarar uma exception e inicializá-la com o tipo:



begin
  DECLARE  test_exce EXCEPTION;
   PRAGMA EXCEPTION_INIT(test_exce, -20002);
  begin
    raise_application_error(-20002, ':)');
  exception when test_exce
    THEN
    BEGIN
      NULL;
    END;
  end;
end;


Bem mais elegante do que capturar todas (com o OTHERS) e testar o código do erro (SQLCODE). ;)

Fonte: http://docs.oracle.com/cd/B19306_01/appdev.102/b14261/errors.htm#i1863

quarta-feira, 30 de maio de 2012

Oracle XE

Para permitir acesso de qualquer host ao Apex (interface em HTML para administração):
BEGIN DBMS_XDB.SETLISTENERLOCALACCESS(FALSE); END;
Solução para o erro:
ORA-12519: TNS:no appropriate service handler found
Executar o seguinte SQL:
ALTER SYSTEM SET PROCESSES=300 SCOPE=SPFILE;