三层结构的一个系统,系统都是windows,数据库用的是oracle9i。由于实时需要,对一些特定的数据库动作需要应用程序能尽快作出响应。如修改表的内容。我查询了相关包dbms_alter只能是对本机。能否给我提供一个简单的utl_tcp的例子?

解决方案 »

  1.   

    oracle参考上的例子,可以借鉴一下DECLARE
    c utl_tcp.connection; -- TCP/IP connection to the Web server
    ret_val pls_integer;
    BEGIN
    c := utl_tcp.open_connection(remote_host => ‘www.acme.com’,
    remote_port => 80,
    charset => ’US7ASCII’); -- open connection
    ret_val := utl_tcp.write_line(c, ‘GET / HTTP/1.0’); -- send HTTP request
    ret_val := utl_tcp.write_line(c);
    BEGIN
    LOOP
    dbms_output.put_line(utl_tcp.get_line(c, TRUE)); -- read result
    END LOOP;
    EXCEPTION
    WHEN utl_tcp.end_of_input THEN
    NULL; -- end of input
    END;
    utl_tcp.close_connection(c);
    END;
      

  2.   

    建议使用oracle的高级消息队列。速度效率都还不错。
    当然使用utl_tcp也是可以的,但是我觉得那样的话,你得写一个监听程序。
      

  3.   

    用Oracle高级队列好像很复杂。