COM+中间层多了三行代码,系统就报错“分步式事务已完成,请将此会话登记到新事务或NULL事务中”
在一个方法中,我准备多次修改DM.cds.CommandText属性来取参数值,
DM.cds.Close;
DM.cds.CommandText := '...';
DM.cds.Open;
sName := DM.cds.Fields[0].AsString;
...
...
但当我第二次调用时,
DM.cds.Close;
DM.cds.CommandText := '...';
DM.cds.Open;//调试时系统执行到这一步就愣住了,半天才报个错“分步式事务已完
//成,请将此会话登记到新事务或NULL事务中”
如果屏蔽掉第二次调用的三句代码,程序运行正常,痛苦啊!
(注:几次的SQL均在SQL Server中测试通过)