在你的存储过程前加上
set  ANSI_NULLS on
set  ANSI_WARNINGS on
go
create procedure ....
这样操作一次以后,procedure 前并没有这2个设置项了。好像这么一操作以下,就行了。
我以前做发布式事务也是这么搞好的。

解决方案 »

  1.   

    javanow(想我生命的意义) :
    我现在也是这样搞的,可怎么做都不行,还有其他办法,谢谢
      

  2.   

    我看出一点来了。你的意思是通过查询分析器执行那个sql server存储过程没问题?然后前台执行就出错?前台是什么用户?sa吗?
    如果不是,你在查询分析器中以前台登录的用户执行那个过程,看是否报同样的错误。
      

  3.   

    如果不是以sa用户,那么用这个用户建立一个存储过程试下,这个过程的前面加上 
    set  ANSI_NULLS on
    set  ANSI_WARNINGS on
    如果不行,再想别的办法。
      

  4.   

    javanow(想我生命的意义) :
    我就是要实现这个功能,我的现在还是不行,用户都是一样的期盼高人
      

  5.   

    应用在执行这个存储过程之前的语句加上
    set  ANSI_NULLS on
    set  ANSI_WARNINGS on
    然后再调用试下
    试下。
      

  6.   

    我现在用.net,C++builder调用都没问题,可是用pb的datawindow时
    就出这个错误,并且用pb直接调用也没问题,真是郁闷!
      

  7.   

    不是在执行前加上set  ANSI_NULLS on、set  ANSI_WARNINGS on,
    而是需要
    1、将原来的存储过程生成脚本
    2、删掉原来的存储过程,
    3、在存储过程脚本前,加上
    set  ANSI_NULLS on
    set  ANSI_WARNINGS on执行脚本重新创建存储过程,再执行存储过程
      

  8.   

    现在报这个错误:
    该操作未能执行,因为 OLE DB 提供程序 'MSDAORA' 无法启动分布式事务。
      

  9.   

    mdtc启动了,没有在计算列中建立索引
      

  10.   

    我有一个同事说他以前也出现这样的提示。那是因为在分布式的存储过程有事务。
    你把数据库属性中的连接的ANSI_NULLS,ANSI_WARNINGS 选择一下,然后确定