麒麟v10 上部署 TiDB v5.1.2 生产环境优化实践
639
2023-04-07
***数据库与***数据库中的的分布式事物处理
先说下***里的事物处理与应用,之所以会应用事物,就是为了保证一整套逻辑中涉及数据库操作的数据完整性,比如系统中涉及money收支的问题,难免要进行数据库插入操作和更新操作,有时候这里的更新不仅仅是更新本服务器,而且会涉及跨服务器更新。***里的分布式不像在SQL SERVER里可以直接引用,***没有直接提供,而是作为一个事物插件单独发行的(文件有点大,80MB左右,有需要的我可以稍后再贴处理),下面以***9i中的调用为例说明: 程序里添加VS的内置引用 System.EnterpriseServices ,添加引用后我们可以写一个事物操作的类,在需要的地方调用
using System;using System.Collections.Generic;using System.Text;using System.EnterpriseServices;namespace TranScope{ public class ESTransactionScope : IDisposable { public void Dispose() { if(!this.Consistent) { ContextUtil.SetAbort(); } ServiceDomain.Leave(); } public void Complete() { this.Consistent = true; } public ESTransactionScope() { EnterTxContext(TransactionOption.Required); } public ESTransactionScope(TransactionOption txOption) { EnterTxContext(txOption); } private void EnterTxContext(TransactionOption txOption) { ServiceConfig config = new ServiceConfig(); config.Transaction = txOption; ServiceDomain.Enter(config); } private bool Consistent = false; }}
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。