VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 指定VB6里MTS的事务处理模式
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:9595, 日期:2003-08-29
      微软的事务处理服务器(Microsoft Transaction Server,MTS)和COM+都能够管理跨多个数据库的数据库事务处理。事务处理可以被定义为完成一项工作里某个单元所需要的一系列操作。事务处理模式是为参与事务处理的每个对象而设置的。它用来告知MTS对象所做出的更改是否应该被忽略。  

当事务处理创建新对象的时候,MTS它会查看两个信息源来确定事务处理的模式。首先,它要确定对象的创建者是否正在另一个已经存在的事务处理里运行。其次,它要检查对象的事务处理模式。

事务处理的模式能够通过VB6里的MTSTransactionMode属性来指定。这个属性位于类模块的属性表里。只有当项目是一个ActiveX DLL,而且类的实例(Instancing)属性(也在属性表里)不是私有(Private)的时候,它才可以被使用。

MTSTransactionMode属性可能的值有:

0-NotAnMTSObject——对象无法识别MTS或者事务处理,而且不参与其中。
1-NoTransactions——对象无法在事务处理模式里执行,即使它是由参与事务处理的某个对象调用的。
2-RequiresTransaction——对象必须在事务处理里运行。如果对象的创建者有事务处理,那么对象就要在其创建者的事务处理里运行。如果情况不是如此,那么就会为对象创建一个事务处理。
3-UsesTransaction——对象需要或者不需要事务处理都可以运行。如果对象的创建者在事务处理里运行,那么对象就会被放在事务处理里。如果其创建者不是在事务处理里运行,那么它也不会创建一个。
4-RequiresNewTransaction——对象需要在新的事务处理里运行。对象总是在一个新的事务处理里运行,而不管创建它的对象是否运行在某个事物对象里。
正确使用MTS的事务处理能够让多个对象将数据保存到一个数据库或者多个数据库里,并执行或者返回所有的更改。