您的位置:首页 > 数据库

跨数据库分布式事务的处理

2008-06-19 13:50 316 查看
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

{ }

}

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: