日期:2014-05-18  浏览次数:20896 次

无法执行该操作,因为链接服务器 "XXXXX" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。


Database db = DatabaseFactory.CreateDatabase("Connectstring");
  DbCommand dbcom = db.GetStoredProcCommand("UP_Report_InComeDetail");
  db.AddInParameter(dbcom, "@Condition", DbType.String, strSQL);
  db.AddInParameter(dbcom, "@TheDate", DbType.DateTime,CtrlCalendar1.Value);
  DataSet ds = db.ExecuteDataSet(dbcom);
  ds.Tables[0].Columns.Add("PromProfit",typeof(string));
  ds.Tables[0].Columns.Add("AchieveNum", typeof(string));

  DbCommand dbcom1 = db.GetStoredProcCommand("UP_Report_BonusByCity");
  db.AddInParameter(dbcom1, "@Condition", DbType.String, strSQL);
  db.AddInParameter(dbcom1, "@TheDate", DbType.DateTime, CtrlCalendar1.Value);
  DataSet ds1 = db.ExecuteDataSet(dbcom1);

  foreach (DataRow row in ds.Tables[0].Rows)
  {
  row["PromProfit"] = this.GetValue(row["OnlyToCity"].ToString(),ds1,out num);
  row["AchieveNum"] = num;
  }

  MyList.DataSource = ds;
  MyList.DataBind();

这样的程序报"无法执行该操作,因为链接服务器 "XXXXX" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。"错误
这是什么原因,如何解决啊

------解决方案--------------------
http://tech.it168.com/KnowledgeBase/Articles/a/7/9/a79627f194af032d352db136dcf9835e.htm