当前位置: 代码迷 >> PB >> PB调用SQL SERVER2005的存储过程涉及到远程服务器的有关问题
  详细解决方案

PB调用SQL SERVER2005的存储过程涉及到远程服务器的有关问题

热度:41   发布时间:2016-04-29 09:43:20.0
PB调用SQL SERVER2005的存储过程涉及到远程服务器的问题
各位大虾,紧急求助啊:

  我在SQL SERVER2005上建了一个存储过程,类似下面:
  set ANSI_NULLS ON
  set QUOTED_IDENTIFIER ON
go


CREATE PROCEDURE [dbo].[p_tt]
-- Add the parameters for the stored procedure here
@job_no varchar(20),
  @tt varchar(10)='' output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
  set ANSI_NULLS ON
  SET ANSI_WARNINGS ON
  -- Insert statements for procedure here
SELECT top 1 @job_no = job_no
  FROM abc.new_material.dbo.truck_oil
  WHERE job_no='ZHJY07040020'
  SET @tt='1'
  SELECT @tt AS ID
END


在SQL SERVER里运行良好,但是在PB里一调用这个存储过程就会报错,"异类查询要求为连接设置 ANSI_NULLS 和 ANSI_WARNINGS 选项。这将确保查询语义一致。请启用这些选项,然后重新发出查询。",但是这里已经设置了,好像不起作用啊,我把数据库的选项中两个开关ANSI_NULLS 和ANSI_WARNINGS 置成ON这种方法肯定是能用,但是这样对以前的数据是有影响的,大家有没有其他办法,急盼,谢谢各位了

------解决方案--------------------
To clice30145 : 把调用存储过程的命令 由 “exec 存储过程名” 改写为: “SET ANSI_NULLS ON SET ANSI_WARNINGS ON exec 存储过程名”就可以调用起来啦
  相关解决方案