流程流传过程中至少要更新BPM数据库、表单数据库。

当向外部系统输出时,还需要更新外部系统数据库。

启用分布式事务处理可以保证这些过程要么都完成,要么都失败,不产生垃圾数据。

启用分布式事务处理

系统安装时,缺省未启动分布式事务处理。

需要启动分布式事务处理时,在Server.config文件中找到<DTCEnabled>false</DTCEnabled>把false改为true开启分布式事务处理。

  • Win7 等非服务器操作系统(演示系统),不支持分布式事务处理。
  • Windows 服务器系统都支持分布式事务处理。

参与事务

启用分布式事务后,流程执行过程中,一切对数据库的操作,都会自动参与到事务中。

常用情景包括:

  • BPM系统代码操作数据库;
  • 用户自己写的代码操作数据库;
  • 调用第三方dll操作数据库;
  • 调用SQL Server、Oracle等各种数据库,都会参与到事务中。

不参与事务

任何对数据库的操作都会自动参与到事务中,若不想参与到事务中,需要在数据库连接字符串上声明,如SQL Server连接字符串中加 Enlist = false;

不同数据库的声明方式不同,具体可参考相关资料。

Created with the Personal Edition of HelpNDoc: Easy EPub and documentation editor