SET NOCOUNT ON在ubuntu下无效

Jay*_*son 6 php sql-server stored-procedures yii

我正在使用mssql服务器,yii framework 我创建了一个stored-procedure请看下面的代码.

 //Call Store procedure to get data
 $sql = "EXECUTE IESReportData @assessmentId=:assessmentId, @queId=:queId,@instanceId=:instanceId";
 //set database connection and start the yii query builder to be executed.
 $connection = Yii::app()->db;
 $command = $connection->createCommand($sql);
 $command->bindValue(":assessmentId", $assessmentId);
 $command->bindValue(":queId", "");
 $command->bindValue(":instanceId", "$instanceId");
 $Reportresults = $command->queryAll();
Run Code Online (Sandbox Code Playgroud)

这在ubuntu环境下工作正常,但它在windows环境下给出错误.

Fatal error: Uncaught exception 'CDbException' with message 'CDbCommand failed to execute the SQL statement: SQLSTATE[IMSSP]: The active result for the query contains no fields.
Run Code Online (Sandbox Code Playgroud)

一些R&DI发现我们需要设置NOCOUNT ON所以我已经改变了以下声明

$sql = "SET NOCOUNT ON EXECUTE IESReportData @assessmentId=:assessmentId, @queId=:queId,@instanceId=:instanceId";
Run Code Online (Sandbox Code Playgroud)

这工作正常window,但它在ubuntu环境下提供null结果.

请帮我.

kev*_*vin 3

下面是在存储过程中设置 nocount on 的示例

SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
-- =============================================
-- Author: <Author,,Name>
-- Create date: <Create Date,,>
-- Description: <Description,,>
-- =============================================
CREATE PROCEDURE <Procedure_Name, sysname, ProcedureName>
-- Add the parameters for the stored procedure here
<@Param1, sysname, @p1> <Datatype_For_Param1, , int> = <Default_Value_For_Param1, , 0>,
<@Param2, sysname, @p2> <Datatype_For_Param2, , int> = <Default_Value_For_Param2, , 0>
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;

-- Insert statements for procedure here
SELECT <@Param1, sysname, @p1>, <@Param2, sysname, @p2>
END`enter code here`
GO
Run Code Online (Sandbox Code Playgroud)