同一个存储过程,为什么不用数据库事务不会出错,一旦用数据库事务就会报参数过多的错误,请问各位是什么原因呢?我实在找不出原因了.大家帮帮忙吧!

解决方案 »

  1.   

    看看begin trans和后面的有没有对应起来,而且逻辑上会不会存在不对称
    另外检查是不是中间嵌套了别的含事务的存储过程
      

  2.   

    是不是语句有跨服务器,或者是不再同一数据库中,例如:sql链接oracle
      

  3.   

    事务,可能中间存 “脏数据”,那么,就会 rollback
      

  4.   

    谢谢各位的参与和帮助,该问题已经解决!
    本来要贴代码让大家分析,但由于关联和引用太多,所以无法贴出.
    原因为:
    事务中的执行对象SqlCommand的属性CommandType为Text,执行的是SQL语句(没问题),又在执行存储过程时我用同一SqlCommand对象,只是将属性CommandType为StoredProcedure,结果是错误,提示为参数太多,最后重新建立一个新的SqlCommand对象,并指到同一事务中后,就没问题了.谢谢各位.结贴!均有分.