如果是超时,应该会报“超时时间已到。在操作完成之前超时时间已过或服务器未响应。
”的错误的,而且这个方法里没有用到com+

解决方案 »

  1.   

    分布式事务已完成。请将此会话登记到新事务或 NULL 事务中。
    -----------------------------------
    是否分布式事务在当前操作发生前已被提交?还是事务锁被耗尽,无法创建新的事务
    public static bool Can***(***),看看里面是否有多处提交事务?存储过程内有跨库的操作
    -------------------------
    如果在负载比较轻的情况下不会出错,那么可能和某个库的资源分配有关(废话),是否job里要求的事务多过dbms的限制?
      

  2.   

    @yan63,怪的是方法中没有起事务,更没有提交,回滚的操作,并且导致异常的是System.Data.SqlClient.SqlDataReader ExecuteReader方法,我就搞不懂了,而且更怪的是并不是所有的服务器会报错
      

  3.   

    不一定是sqltransation,也可能是com+的事务,或者是你存储过程里的事务控制,如果这个错误只在0-2:00运行job的时候出现,看看是否记录日志?
      

  4.   

    @yan63,我刚才又检查一下程序,是没有com+的,存储过程内部也没有起事务