Tôi đang sử dụng máy chủ mssql
với yii framework
Tôi đã tạo một stored-procedure
vui lòng xem mã bên dưới.SET NOCOUNT ON không hoạt động trong ubuntu
//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();
Điều này hoạt động tốt dưới môi trường ubuntu
nhưng nó có lỗi dưới môi trường 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.
với một số R & D Tôi thấy rằng chúng ta cần phải SET NOCOUNT ON vì vậy tôi đã thay đổi dưới đây tuyên bố
$sql = "SET NOCOUNT ON EXECUTE IESReportData @assessmentId=:assessmentId, @queId=:queId,@instanceId=:instanceId";
này hoạt động tốt trong window
, nhưng nó cung cấp kết quả rỗng dưới ubuntu
môi trường.
Hãy giúp tôi.
Tại sao không đưa 'thiết nocount on' bên trong proc lưu trữ của bạn? – Andrew
Cảm ơn Andrew, tôi đã đặt 'SET NOCOUNT ON' bên trong thủ tục lưu sẵn và nó đang hoạt động ngay bây giờ. – Jayson