我的意思是希望客户端一失去连接服务器就能即时捕获。
在Profile里可以实现对DisConnect情况的跟踪并将其Capture到表中,此功能基本上能满足我的要求,请问是否可通过程序实现?

解决方案 »

  1.   

    有没有人能回答我的问题?我已经加到最高分了!help...
      

  2.   

    使用远程数据模块的Destroy事件,当客户端程序与服务端连接断开时触发
      

  3.   

    to okla
    能不能说得再详细一点,最好是带有源程序。不胜感激!
      

  4.   

    这是不能实现的. SQL Server无法主动监测client的意外断开, 否则又如何会有Orphaned Sessions 呢? 作为编程接口的ADO/RDO当然就更没办法了.Reference:
    SQL Books Online-> "Orphaned Session" Chapter 
      

  5.   

    感谢GoldenLion,SQL Server好像确实无法监测Client的意外断开。
    我想问一下当Client意外断开时,那么SQL Server对该Client的Connection还未提交的事务将做合处理。我想SQL Server应该不会让该Connection的事务一直处于未Commit或未RollBack状态,应是一发现Disconnect后立即将该Connection的事务进行自动RollBack处理。另外请问各位VB高手:
    如果在服务器端无法检测意外Disconnect情况的话,那么请问用VB程序如何检测局域网内的一台计算机是否在线(已经该计算机的名称)?
      

  6.   

    server端是由NT监测, by default 2小时后kill server 端process. 参考SQL Books Online改default value.client端我写在你的另外一个贴子上. 有点我不清楚: ADO timeout是30 second, COM+/MTS default timeout才是60 second - 难道你用了COM+?
      

  7.   

    to goldenlion
    感谢你对我的热情帮助,现在我还无法对你给我的解答做出测试,等我在春节放假之后回公司立即实验。到时我会尽快把分给你,再次谢谢!另外我想知道:
    如果在服务器端无法检测意外Disconnect情况的话,那么请问用VB程序如何检测局域网内的一台计算机是否在线(已经该计算机的名称)? 
    比如在ping一台计算机时可知道它是否在线,在VB程序中如何获取ping的返回消息?(只是举个例,能够完成我的要求就行,不一定要用ping)