本帖最后由 w158357686 于 2013-05-29 17:24:28 编辑

解决方案 »

  1.   

    我在网上看了很多的资料,msdtc都设置了,rpc服务也开了,防火墙的例外也设置了。
      

  2.   

     /// <summary>
            /// 执行多条SQL语句,实现数据库事务
            /// </summary>
            /// <param name="SQLStringList">多条SQL语句</param>
            /// <returns>执行事务影响的行数</returns>
            public static int ExecuteSqlTran(string connectionString, List<String> SQLStringList)
            {
                using (SqlConnection conntion = new SqlConnection(connectionString))
                {
                    conntion.Open();
                    SqlCommand cmd = new SqlCommand();
                    cmd.Connection = conntion;                SqlTransaction ts = conntion.BeginTransaction();
                    cmd.Transaction = ts;
                    try
                    {
                        int count = 0;
                        for (int n = 0; n < SQLStringList.Count; n++)
                        {
                            string strsql = SQLStringList[n];
                            if (strsql.Length > 1)
                            {
                                cmd.CommandText = strsql;
                                count += cmd.ExecuteNonQuery();
                            }
                        }
                        ts.Commit();//提交数据库事务
                        return count;
                    }
                    catch
                    {
                        ts.Rollback();
                        return 0;
                    }
                }
            }