Delphi XE2, ODAC 9.4.11
1)
Different behavion for exception for alert and pipe:
Code: Select all
try
OraAlerter1.Start;
except
on e : Exception do
ShowMessage(e.Message);
end;
Exception correctly catched for etALERT and not catched for etPIPE.
For alert I saw ok message like:
Code: Select all
Please execute GRANT EXECUTE ON DBMS_ALERT TO scott as SYS
ORA-06550: line 2, column 3:
PLS-00201: identifier 'DBMS_ALERT' must be declared
ORA-06550: line 2, column 3:
PL/SQL: Statement ignored
for alert I saw not catched exception like:
Code: Select all
2.5 Type : EOraError
2.6 Message : ORA-06550:_line 1, column 7:
PLS-00201:_identifier 'DBMS_PIPE' must be declared
ORA-06550:_line 1, column 7:
PL/SQL:_Statement ignored
2)
Code: Select all
declare v_result integer;
begin
v_result := dbms_pipe.create_pipe (
pipename => 'TEST'
, maxpipesize => 32768
, private => false
);
dbms_pipe.pack_message('A');
dbms_pipe.pack_message('B');
v_result := dbms_pipe.send_message('TEST');
end;
/
Code: Select all
procedure TFrmEventMonitor.OraAlerter1Event(Sender: TObject; Event,
Message: string);
var
s : String;
begin
s := 'Event on ' + Event + ' ' + DateTimeToStr(Now);
SMOutput.Lines.Add(s);
SMOutput.Lines.Add(N_format('', Length(s), '-', False));
SMOutput.Lines.Add(Message);
SMOutput.Lines.Add('');
end;
result
Code: Select all
Event on TEST123 18.09.2014 00:50:42
------------------------------------
A
Event on TEST123 18.09.2014 00:50:42
------------------------------------
B
I see it like 2 different message, but it is one message.