Answered by:
Parameter Mapping Output on Stored Procedure

Question
-
I have a stored procedure where an Input (@LastMod) and an Output (@TotRecs) is used in a stored procedure. Below is the syntax for the SP
@LastMod varchar(50), @TotRecs int OUTPUT, Set @TotRecs =(Select Count(*) From [Server].[Live].[Issue_Open] WHERE Date_Modified >= @LastMod )
Theres more to it than the above but that's the part that it's failing on. I have the variable that I'm capturing the @TotRecs total with set as below.
Direction: Output
Data Type Long
Also, the variable that is used to store the value is int32
If the count is under 100 it works fine, it's when it's more than 100. Any assistance would be appreciated.
- Edited by DanHaf Tuesday, June 6, 2017 1:34 PM
Tuesday, June 6, 2017 1:06 PM
Answers
-
Hi DanHaf,
Sorry, I can not reproduce the issue. Please refer to following screenshots:
sample data.
create PROCEDURE OutputParameter @amount int, @Total int Output AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here set @Total=(select count(*) from [AdventureWorks2012_Data].[dbo].[FactFinance] where FinanceKey>@amount) return @Total END GO
Variables in a SSIS package.
EXEC ? = OutputParameter ?, ? OUTPUT
In my scenario, it can return the correct result for @output: 39409 rows.
Please make sure you could return the correct result (>100) in SSMS and please make sure the configuration is correct.
You could refer to: Stored Procedure Return Values and Output Parameters in SSIS
Best Regards,
Pirlo Zhang
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- Marked as answer by DanHaf Monday, June 12, 2017 1:51 PM
Wednesday, June 7, 2017 8:21 AM
All replies
-
-
Hi DanHaf,
Sorry, I can not reproduce the issue. Please refer to following screenshots:
sample data.
create PROCEDURE OutputParameter @amount int, @Total int Output AS BEGIN -- SET NOCOUNT ON added to prevent extra result sets from -- interfering with SELECT statements. SET NOCOUNT ON; -- Insert statements for procedure here set @Total=(select count(*) from [AdventureWorks2012_Data].[dbo].[FactFinance] where FinanceKey>@amount) return @Total END GO
Variables in a SSIS package.
EXEC ? = OutputParameter ?, ? OUTPUT
In my scenario, it can return the correct result for @output: 39409 rows.
Please make sure you could return the correct result (>100) in SSMS and please make sure the configuration is correct.
You could refer to: Stored Procedure Return Values and Output Parameters in SSIS
Best Regards,
Pirlo Zhang
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.- Marked as answer by DanHaf Monday, June 12, 2017 1:51 PM
Wednesday, June 7, 2017 8:21 AM -
Thanks all. I got it working. I'm not sure exactly what the issue was. I tried a few different data types and then when I went back to long, it worked fine. Just a bug, I guess. Thanks again.
- Proposed as answer by Pirlo Zhang Thursday, June 8, 2017 1:36 AM
Wednesday, June 7, 2017 11:22 AM -
Hi DanHaf,
Would you please mark an appropriate a reply as answer to close this topic if possible?
Thanks,
Pirlo Zhang
MSDN Community Support
Please remember to click "Mark as Answer" the responses that resolved your issue, and to click "Unmark as Answer" if not. This can be beneficial to other community members reading this thread. If you have any compliments or complaints to MSDN Support, feel free to contact MSDNFSF@microsoft.com.Thursday, June 8, 2017 1:36 AM