今天偶然遇到一个存储过程(SP)在企业管理器里面出现了这个错误:
Error 7405: Heterogeneous queries require ANSI_NULLS ...
下面是我的解决方案.
1>首先我看了一下sp,想看下有没有造成死锁的可能,在测试过程中,发现
用check sysntx 是可以通过,但不能存储,出现Error 7405:.....
2>然后我用查询分析器进行,同样代码的执行,发现能执行正常(排除代码的问题)
3>然后我删除sp,用查询分析器重新生成.前面加
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
Create PROCEDURE abc
as
....
select * from [192.168.42.2].po.dbo.pom A inner join pom b
on a.id=b.id
.....
重新生成,但执行的时候还是出现象死锁一样的情况.
4>最后发现,这些代码中,有个交易,然后我取消掉,发现竟然能正常运行了.
注意:以下跨服务器的时候,交易要注意使用.
Error 7405: Heterogeneous queries require ANSI_NULLS ...
下面是我的解决方案.
1>首先我看了一下sp,想看下有没有造成死锁的可能,在测试过程中,发现
用check sysntx 是可以通过,但不能存储,出现Error 7405:.....
2>然后我用查询分析器进行,同样代码的执行,发现能执行正常(排除代码的问题)
3>然后我删除sp,用查询分析器重新生成.前面加
SET ANSI_NULLS ON
SET ANSI_WARNINGS ON
Create PROCEDURE abc
as
....
select * from [192.168.42.2].po.dbo.pom A inner join pom b
on a.id=b.id
.....
重新生成,但执行的时候还是出现象死锁一样的情况.
4>最后发现,这些代码中,有个交易,然后我取消掉,发现竟然能正常运行了.
注意:以下跨服务器的时候,交易要注意使用.