reporting services - Passing parameters from ReportViewer through to stored procedure data source for SSRS report -
i have report developing in bids ssrs 2008 r2 uses stored procedure data source. have set parameters in report , report passing them on stored procedure , works fine. however, need convert report gets parameters passed reportviewer control in c# asp.net application instead of allowing them entered in ssrs interface. think fine on c# side (using serverreport.setparameters), don't know in bids route passed-in parameter values stored procedure. can provide example?
i need prevent report displaying ui entering parameters. should set parameters hidden or internal?
i set report parameters internal read on article http://msdn.microsoft.com/en-us/library/aa337234.aspx section hidden , internal parameters , decided appropriate problem.
assuming have stored proc like
create procedure dbo.repeatafterme ( @inputtext varchar(50) , @repeatfactor int = 10 ) begin set nocount on declare @count int declare @hack table (inputtext varchar(50)) set @count = 0 while @count < @repeatfactor begin insert @hack select @inputtext set @count = @count + 1 end select h.* @hack h end go
define 2 report parameters in ssrs (inputtext string, repeatfactor integer). then, in ssrs, dataset defined like
execute dbo.repeatafterme @inputtext, @repeatfactor
and on parameters tab of dataset, like
@inputtext =parameters!inputtext.value @repeatfactor =parameters!repeatfactor.value
for completeness of solution, approximation of code use pass parameters in report control id of rvreportviewer
microsoft.reporting.webforms.reportparameter[] reportparameters = null; reportparameters = new microsoft.reporting.webforms.reportparameter[2]; reportparameters[0] = new microsoft.reporting.webforms.reportparameter("inputtext", txtinput); reportparameters[1] = new microsoft.reporting.webforms.reportparameter("repeatfactor", 10); try { rvreportviewer.serverreport.setparameters(reportparameters); } catch(microsoft.reporting.webforms.reportserverexception ex) { response.redirect("~/error.aspx"); }
Comments
Post a Comment