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