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
                { }
            }
        }
    }

  • 相关阅读:
    The formatter threw an exception while trying to deserialize the message in WCF
    通过Web Deploy方式部署WCF
    The Managed Metadata Service or Connection is currently not available
    How to create Managed Metadata Column
    冒泡算法
    asp.net core 实战项目(一)——ef core的使用
    Vue学习笔记入门篇——安装及常用指令介绍
    Vue学习笔记入门篇——数据及DOM
    Vue学习笔记目录
    Chart.js在Laravel项目中的应用
  • 原文地址:https://www.cnblogs.com/EddyPeng/p/1225851.html
Copyright © 2011-2022 走看看