oracle数据表中某个字段修改之后,会触发数据库触发器开始运行,过程如下:
--和某个IP的主机建立连接;(1)
--发送一些数据;(2)
--关闭连接。(3)问题如下:(看到的现象)如果直接从数据库中直接修改这个字段,触发器工作,过程(1)(2)(3)均成功;如果从WEB管理界面去修改数据库中的这个字段,会触发触发器进行工作,但是肯定在(1)处出问题,抛出的错误码是-29260不知问题出在哪里?应该如何解决?期待高人的指点---

解决方案 »

  1.   

    ORA-29260 network error: stringCause: A network error occurred.Action: Fix the network error and retry the operation.
      

  2.   

    1.当前这个触发器用到的UTL_TCP,延迟设置为1秒(注:这里出问题的几率不少很高,因为刚发完之后有一个发送失败的检测,如果失败就要接着重发,重发基本没有失败过);
    2.触发器中和远程主机建立连接发送数据这个过程在一个Function中实现的,然后在触发器中调用的,如果放到存储过程中应该也一样;
    3.现在感觉问题的重心在(看到的现象):如果通过Web管理界面修改数据库表中的字段,从而引起触发器工作,就时常出现报出29260的错误;如果在数据库中直接手动修改这个字段,引起触发器工作,这个过程就很顺利,没有任何错误。而且第一条中提到的重发,每次都成功。
    4.还有一个现象是:我们如果重启动Web管理界面的服务器(Tomcat),然后再通过管理界面去修改数据库表中的那个字段,就会一切又正常了。期待各位路过高人的指点,先谢过楼上的两位兄弟了!