我利用存储过程往远程数据库写信息时提示出错“链接服务器"COMIT-ZLK"的 OLE DB 访问接口 "SQLNCLI" 返回了消息 "没有活动事务。"。
消息 7391,级别 16,状态 2,过程 DownVehicle,第 313 行
无法执行该操作,因为链接服务器 "COMIT-ZLK" 的 OLE DB 访问接口 "SQLNCLI" 无法启动分布式事务。”奇怪的是我把插入语句拷到一般的查询窗口中运行时却能正常往远程数据库中写入信息,而把代码写到存储过程中就不行,,请高手们帮忙,

解决方案 »

  1.   

    错误 7391
    严重级别 16
    消息正文
    该操作未能执行,因为 OLE DB 提供程序 ''%1!'' 无法启动分布式事务。解释
    处理显式或隐性事务内的 INSERT、UPDATE 或 DELETE 语句时会出现该错误。这表明 OLE DB 提供程序不支持显式或隐性事务内数据修改语句所需的分布式事务。只有在数据修改语句本身是一个事务的情况下,才可对这样的提供程序执行该语句。对策
    验证指定的 OLE DB 提供程序是否支持分布式事务。如果提供程序不支持分布式事务,则将数据修改语句重写为不使用分布式事务。
      

  2.   

    楼上能否针对“对策”再说清楚有点,具体应该怎么做才能查出指定的 OLE DB 提供程序是否支持分布式事务“修改语句重写为不使用分布式事务”意思是不是将语句改成分布式查询的?(我这里能够实现分布式查询)
    我用的是SQL Server2005对方用的是2000。。
    请赐教!不胜感激