Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Triggers, UTL_TCP
"schw" <schwartz_at_alpha.net.pl> wrote in message
news:1157532611.072135.100280_at_i42g2000cwa.googlegroups.com...
> Hi,
>
> I've encountered a problem that is caused by lack of my Oracle
> knowledge. Please help
>
> Here are details:
>
> I've got a java TCP/IP based server that listens on specified port. In
> my row-level type triggers (delete action) I connect to the server
> using UTL_TCP and using very simple protocol I want to send column
> values that users selected.
>
> e.g.
>
> DECLARE
> c utl_tcp.connection; -- TCP/IP connection to the Web server
> n number;
> BEGIN
> c := utl_tcp.open_connection('localhost',1232 ); -- open
> connection
> n := utl_tcp.write_line(c, 'SET NAME1 SIZE=XX');
> n := utl_tcp.write_line(c, :old:column1);
> utl_tcp.close_connection(c);
> END;
>
> User wants to send :old:column1 to the server.
>
> The problem is that :old:column1 might be any data type. How can I
> convert any type to string or maybe to RAW type (and then I could use
> write_raw method)? How can I get size of data?
>
> thanks for any help
>
> best regards
> schw
>
So you want to notify something even if a row is deleted and rolled back?
Then you would get a false delete. The external application would the row
was deleted but in fact it wasn't. You would be better calling a stored
proc that added a dbms_job to send the tcp message. If there is a commit
then the message will be sent. If there is a rollback then the dbms_job is
not run and so the message won't be sent.
Jim
Received on Wed Sep 06 2006 - 19:14:13 CDT
![]() |
![]() |