MTS 中的事务问题(80分)

  • 主题发起人 主题发起人 Ricezj
  • 开始时间 开始时间
R

Ricezj

Unregistered / Unconfirmed
GUEST, unregistred user!
我创建了一个需要事务的 COM+ 组件,编写了一个客户端的程序进行调用的时候,程序出错,
信息是 new transaction can not enlist in the specified transaction coordinator.
不知道是为什么?
还有就是:客户端编写的时候,不能够用
try
....
setComplete;
except
setAbort;
end;
方法,说我没有定义。可是书上说,如果由Delphi建立的MTS/COM+对象或数据模块都自动
的实现了IObjectContext 接口。所以不用自己取得这个接口。如果要取得此接口,如何取得?
这个组件,我用支持事务的类型就可以通过,为什么?
 
注册到COM+中去的组件,不用专门指定事务,事务是由mts与com+自动来控制。
 
To Ricezj:
你是否在服务器端组件中直接调用了数据库的事务?
客户端程序不在事务中,不能使用 "SetComplete"之类的语句。
在组件中直接使用ObjectContext变量就是调用IObjectContext了。
 
楼上的台兄说的对。
在com+中如果使用方法来提交数据,只要使用SetComplete或SetAbort
就能够在一个过程内实现事务的一致。
当然你的com要设成需要或是需要新建事务的方式。
 
gpib : 你好。
我没有在服务器端的组件中调用事务,当组件设置为支持事务类型时,此组件可以正常运行,
但是设置为需要或需要新事务就出错,客户端也没有使用事务,请问这时怎么回事?
 
接受答案了.
 
后退
顶部