can not pass multi select values to rs.exe utility command line
When I execute this command through a batch file rs -i ServiceMarginExceptions.rss -s http://NZSQL3/reportserver -v ReportExportName="Service Margin Exceptions.PDF" -v ReportExportFormat="PDF" -v ReportName="/Branch Manager Reports/Service Margin Exceptions" -v Branch="3" -v Segment="1,2,3,4,5" -v ServiceMarginLowerLimit="15" -v ServiceMarginUpperLimit="15" -e Mgmt2000 I receive the following error Unhandled exception: Default value or value provided for the report parameter 'Segment' is not a valid value The default value for the Segment parameter in the report is NULL and it is a multi select type. The RSS file has the lines parameters(1) = New ParameterValue() parameters(1).Name = "Segment" parameters(1).Value = Segment Why is the value '1,2,3,4,5' invalid? It will accept '1' OK. Any help would be much appreciated.
February 11th, 2010 3:15am

Did you try sending segment values like:-v Segment="'1','2','3','4','5'" ?
Free Windows Admin Tool Kit Click here and download it now
February 11th, 2010 7:30pm

yes tried that - no joy!
February 12th, 2010 12:49am

Hi smisich,Since "Segment" is a multi-value parameter, we can not pass string value "1,2,3,4,5" or "'1', '2', '3', '4', '5'" to this parameter.To pass values to a multi-value parameter, please use this code in script file: Dim i As Integer i = Segment.Split(","c).Length - 1 Dim parameters(i) As ParameterValue For j As Integer = 0 To i parameters(j) = New ParameterValue() parameters(j).Name = "ReportParameter1" parameters(j).Value = Segment.Split(","c)(j) Next Below is a similar thread for your reference:http://social.msdn.microsoft.com/forums/en-US/sqlreportingservices/thread/88946d3f-3e9d-40a6-8a47-dd28da9803e5/If you have any more questions, please feel free to ask.Thanks,Jin Chen Jin Chen - MSFT
Free Windows Admin Tool Kit Click here and download it now
February 12th, 2010 1:04pm

Can you give me the full code for the RSS file? The below doesnt work. What am I doing wrong? Thanks ' Report Parameters Dim parameters(7) As ParameterValue parameters(0) = New ParameterValue() parameters(0).Name = "Branch" parameters(0).Value = Branch 'parameters(1) = New ParameterValue() 'parameters(1).Name = "Segment" 'parameters(1).Value = Segment Dim i As Integer i = Segment.Split(","c).Length - 1 ' Dim parameters(i) As ParameterValue For j As Integer = 1 To i parameters(j) = New ParameterValue() parameters(j).Name = "Segment" parameters(j).Value = Segment.Split(","c)(j) Next parameters(6) = New ParameterValue() parameters(6) .Name = "ServiceMarginLowerLimit" parameters(6) .Value = ServiceMarginLowerLimit parameters(7) = New ParameterValue() parameters(7) .Name = "ServiceMarginUpperLimit" parameters(7) .Value = ServiceMarginUpperLimit
May 3rd, 2010 5:25am

Hi, For your reference: Public Sub Main() ' Authenticate to the Web service using Windows credentials rs.Credentials = System.Net.CredentialCache.DefaultCredentials Dim report As Byte() = Nothing Dim deviceinfo As String = Nothing Dim i As Integer i = Values.Split(","c).Length - 1 Dim parameters(i ) As ParameterValue For j As Integer = 0 To i parameters(j) = New ParameterValue() parameters(j).Name = "ReportParameter1" parameters(j).Value = Values.Split(","c)(j) Next Dim historyID As String = Nothing Dim credentials As DataSourceCredentials() = Nothing Dim showHideToggle As String = Nothing Dim extension As [String] = String.Empty Dim encoding As [String] = String.Empty Dim mimeType As [String] = String.Empty Dim warnings As Warning() = Nothing Dim reportHistoryParameters As ParameterValue() = Nothing Dim streamIDs As String() = Nothing Dim execInfo As New ExecutionInfo() Dim execHeader As New ExecutionHeader() rs.ExecutionHeaderValue = execHeader execInfo = rs.LoadReport("/AdventureWorks 2008 Sample Reports/MultiValue", historyID) rs.SetExecutionParameters(parameters, "en-us") Try report = rs.Render("PDF", deviceinfo, extension, mimeType, encoding, warnings, streamIDs) Dim fs As New FileStream("C:\abc.pdf", FileMode.Create) fs.Write(report, 0, report.Length) fs.Close() Catch ex As Exception Console.WriteLine(ex.Message) End Try End Sub Thanks, Jin ChenJin Chen - MSFT
Free Windows Admin Tool Kit Click here and download it now
May 4th, 2010 1:38pm

I am using similar script to generate the reports. I was trying to use Split() function, but it I get an error when I run it from SQL Management Studio C:\WINDOWS\TEMP\yzrlqa_p.1.vb(39) : error BC30451: Name 'Split' is not declared. Any help is appreciated.
January 26th, 2011 1:42pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics