oracle enlisttransaction,分布式事务为什么不会对其中的语句回退

public Common.Argument.RetResult AddCategoryAnayURL(stringareaCode, Bill_CategoryAnay model)

{

Common.Argument.RetResult ret= newCommon.Argument.RetResult();using (CommittableTransaction commitTran = newCommittableTransaction())

{try{

List strSqlList = new List();//修改IOIDCategory里的解析地址

string strSql = "update a" + areaCode + "set GotoURL=:GotoURL where IOIDCategory_ID=:IOIDCategory_ID";

OracleParameter[] parameters={new OracleParameter(":GotoURL",OracleType.Number,8) ,new OracleParameter(":IOIDCategory_ID",OracleType.Number,20) };

parameters[0].Value =model.GotoURL;

parameters[1].Value =model.IOIDCategory_ID;

strSqlList.Add(newTranArray(strSql, parameters));if (model.OrderBillStatus_ID != 0)

{string strUpdateStatusSql = "update a" + areaCode + "set Status_ID=:Status_ID where IOIDCategory_ID=:IOIDCategory_ID";

OracleParameter[] parametersUpdateStatus={new OracleParameter(":Status_ID",OracleType.Number,8) ,new OracleParameter(":CategoryAnay_ID",OracleType.Number,20) };

parametersUpdateStatus[0].Value =status_ID;

parametersUpdateStatus[1].Value =model.IOIDCategory_ID;

strSqlList.Add(newTranArray(strUpdateStatusSql, parametersUpdateStatus));//获取IOIDCategory

OID_IOID_Category ioidCategory = newOID_IOID_Category();

retModule= GetIOIDCategoryByID(areaCode, model.IOIDCategory_ID, outioidCategory);

ioidCategory.Status_ID=status_ID;

ioidCategory.GotoURL=model.GotoURL;#region 添加临时表审核条目(此处不添加待审地址)StringBuilder strAddExamineSql= newStringBuilder();

strAddExamineSql.Append("insert into a_Temp(");//推送到临时表

strAddExamineSql.Append("IOIDCATEGORY_ID)");

strAddExamineSql.Append("values (");

strAddExamineSql.Append(":IOIDCATEGORY_ID)");

OracleParameter[] parametersAddExamine={new OracleParameter(":IOIDCATEGORY_ID", OracleType.Number,20)

};

parametersAddExamine[0].Value =ioidCategory.IOIDCategory_ID;#endregionOracleHelper.ExecuteSql(strAddExamineSql.ToString(), parametersAddExamine);//这是对主数据库的操作,当分数据库的操作报错的时候,这里的操作不会回退

}

OracleHelper.ExecuteSqlTran(areaCode, strSqlList);//这里出错的时候,上面的对主表的操作不会回退

commitTran.Commit();

}catch(Exception e)

{

commitTran.Rollback();

ret.SetArgument(Common.Argument.CmdResultError.EXCEPTION, e.ToString(),"异常错误!");

}returnret;

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值