我用delphi6编写了一个从实时数据库采集数据,插入到oracle数据库中,但有时发现服务会莫名其妙的停止了,因为程序并不复杂,也没找到什么原因导致服务停止了,看了很多资料都说要单独写个监听服务,但监听服务会不会也死掉呢,有没有好的办法使服务能持续保持运行,除非机器死掉,请高手指点啊!

解决方案 »

  1.   

    delphi写的服务,死掉很难预防【设置服务重启来做到,点服务属性->恢复,把第一次失败:设为重新启动服务。】
    好像很多情况下也不能做到吧?
      

  2.   

    在停止和退出的地方加个日志,输出GetLastError,看有没有错误日志 
      

  3.   

    做服务,不写日志,很难查出是哪步出错的!
    1.在服务线程的Execute中按每天为单位进行日志记录,在每天记录每时每刻的任务明细!这是必需的!
    2.LZ的服务程序,60%以上的出错原因应该是操作超时,服务无法响应,系统会自动停止!(这些都是推测)
    解决问题要从根本上解决,出问题后通过自动重启服务来解决问题,这样不太好吧