我已经检查了整个网络,但没有找到,这似乎为我工作的解决方案..
我已经重新创建我的存储过程,并确保有这些行作为第一行:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_WARNINGS ON
GO
CREATE PROCEDURE test_insert
AS
....
BEGIN
...
END
当从PHP调用我的存储过程,我只得到这个错误。 它工作在SQL Server细..我真的不知道还有什么我可以帮do..please我; _;
增加了在这之前你的说法,而不是在主查询开始
$result = mssql_query("SET ANSI_NULLS ON;");
$result = mssql_query("SET ANSI_WARNINGS ON;");
这是工作...尝试像这样的例子
create procedure dbo.access_update @O_SQL_Error_State int = NULL output
as
set ANSI_NULLS ON
SET ANSI_WARNINGS ON
....
....
GO
它不是经常一个更好的答案是另一个论坛上-但根据这个帖子 ,SET命令必须是CREATE PROCEDURE之前。 经过测试,与SQL 2017年工作
例如:
SET ANSI_WARNINGS ON
SET ANSI_NULLS ON
CREATE PROCEDURE dbo.access_update @O_SQL_Error_State int = NULL output
as
...
文章来源: Heterogeneous queries require the ANSI_NULLS and ANSI_WARNINGS options to be set for the connection. This ensures consistent query semantics