zoukankan      html  css  js  c++  java
  • 跨数据库分布式事务的处理

    using System;
    using System.Collections.Generic;
    using System.Text;
    using System.EnterpriseServices;
    using System.Data.SqlClient;

    namespace myCOM
    {
        [Transaction(TransactionOption.Required)]
        public class MyComClass : ServicedComponent
        {
            public SqlConnection Conn;
            public SqlConnection Conn1;

            public void test(string updateStr)
            {
                try
                {
                    string connection = string.Format("server = pwdpc; database = Northwind; uid = sa; pwd = ******;");
                    SqlConnection Conn = new SqlConnection(connection);
                    Conn.Open();

                    string connection1 = string.Format("server = pwdpc; database = pubs; uid = sa; pwd = ******;");
                    SqlConnection Conn1 = new SqlConnection(connection1);
                    Conn1.Open();

                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = Conn;
                    cmd.CommandType = System.Data.CommandType.Text;
                    string sqlSentence = string.Format("update dbo.Customers set CompanyName = '{0}' where CustomerID = 'ALFKI'", updateStr);
                    cmd.CommandText = sqlSentence;
                    cmd.ExecuteNonQuery();

                    //出异常
                    //int i = 0;
                    //int j = 1 / i;

                    SqlCommand cmd1 = new SqlCommand();
                    cmd1.Connection = Conn1;
                    cmd1.CommandType = System.Data.CommandType.Text;
                    string sqlSentence1 = string.Format("update dbo.authors set au_fname = '{0}' where au_lname = 'White'", updateStr);
                    cmd1.CommandText = sqlSentence1;
                    cmd1.ExecuteNonQuery();

                    ContextUtil.SetComplete();
                    Conn.Close();
                    Conn1.Close();
                }
                catch (Exception ex)
                {
                    ContextUtil.SetAbort();
                    throw ex;
                }
                finally
                { }
            }
        }
    }

  • 相关阅读:
    android之ConnectivityManager简介,网络连接状态
    SPOJ SUBLEX 7258. Lexicographical Substring Search
    poj 2417 Discrete Logging(A^x=B(mod c),普通baby_step)
    设计模式汇总
    微信公众平台预研小结
    Android开发之Handler的用法(源码分享)
    通过ccb(CocosBuilder)文件生成cocos2dx代码
    图像处理之错切变换
    combobox自己主动提示组件加入无选中项清空功能
    php 二维数组传递给 js 问题解决记录
  • 原文地址:https://www.cnblogs.com/EddyPeng/p/1225851.html
Copyright © 2011-2022 走看看