【发布时间】:2014-08-18 20:09:23
【问题描述】:
我正在开发一个 SSIS 2012 包,它使用脚本任务通过使用 SOAP 的 Web 服务从 SSRS 服务器加载和呈现 SSRS 2012 报告。我的问题在于设置参数值的代码。当下面的代码运行时,我在尝试执行 rs.SetExecutionParameters 方法时收到以下 SOAP 错误消息:
Microsoft.ReportingServices.Diagnostics.Utilities.UnknownReportParameterException:尝试设置此报告中未定义的报告参数“prmDomainID”。
然而,如果我在设计模式下打开报表,参数显然就在那里。并在运行时检查 execInfo 变量,也显示参数在那里。我尝试删除服务器上的报告并重新部署它,但没有奏效。我尝试更改参数名称以包含前导“@”符号,但这也不起作用。我已经确保参数数据类型(整数)与我传入的值的类型匹配。我已经搜索了几个小时,似乎没有任何东西可以识别我传入的参数。(注意 prmDomainID 参数设置为可见。不确定这是否重要。)
我在这里错过了什么?
Dim rs As New ReportExecutionService
Dim format As String = "HTML4.0"
Dim mimeType As String = Nothing
Dim historyID As String = Nothing
Dim deviceInfo As String = Nothing
Dim extension As String = Nothing
Dim encoding As String = Nothing
Dim warnings() As Warning = Nothing
Dim streamIDs() As String = Nothing
Dim results() As Byte
Dim execInfo As New ExecutionInfo
Dim parameters(1) As ParameterValue
parameters(0) = New ParameterValue()
parameters(0).Name = "prmDomainID"
parameters(0).Value = "15"
With rs
.Credentials = System.Net.CredentialCache.DefaultCredentials
execInfo = .LoadReport(ReportPath, historyID)
.SetExecutionParameters(parameters, "en-us")
results = .Render(format, deviceInfo, extension, mimeType, encoding, warnings, streamIDs)
End With
Return System.Text.Encoding.Default.GetString(results)
【问题讨论】:
标签: soap reporting-services parameters