gpt4 book ai didi

reporting-services - SSRS 2008 NULL 参数

转载 作者:行者123 更新时间:2023-12-04 07:52:54 29 4
gpt4 key购买 nike

你怎么传到null SQL 2008 报告中的参数?与 ReportExecution 和 ReportService2005 Web 服务接口(interface)的代码在执行 ReportExecutionService.Render() 时总是产生错误。方法,在我通过调用 ReportExecutionService.SetExecutionParameters() 设置参数(不包括可为空的参数)之后方法:
"...This report requires a default or user-defined value for the report parameter...to run or subscribe to this report, you must provide a parameter value."
即使该参数在 .rdl 文件中定义为 null能够,默认为 null .

我必须更改我的代码吗?更改 .rdl 文件中的参数选项?

var rs = new ReportExecutionService();
rs.Url= "http://Z/ReportServer/ReportExecution2005.asmx";
rs.Credentials = CredentialCache.DefaultCredentials;
rs.ExecutionHeaderValue = new ExecutionHeader();

var executionInfo = rs.LoadReport(ReportTarget, null);
var parameterList = new List<ParameterValue>();

foreach (ParameterValue parameter in Parameters)
{
parameterList.Add(parameter);
}

foreach (var expectedParameter in executionInfo.Parameters)
{
if
(
expectedParameter.Nullable &&
!parameterList.Exists(delegate(ParameterValue pv)
{ return pv.Name == expectedParameter.Name; })
)
{
var parameter = new ParameterValue();
parameter.Name = expectedParameter.Name;
parameter.Value = null;

parameterList.Add(parameter);
}
}

rs.SetExecutionParameters(parameterList.ToArray(), "en-us");

Warning[] warnings = null;
string[] streamIDs = null;
string encoding = null;
string extension = null;
string mime = null;

var content = rs.Render("PDF", null, out extension, out mime, out encoding, out warnings, out streamIDs);

最佳答案

似乎是 SSRS 中的错误。特别是因为我有一些默认空值有效的报告,并且一些给出此错误消息“...报告需要报告参数的默认值或用户定义值...”

无论如何,这段代码似乎在 VB 中对我有用。

params = New ArrayList

...
Dim ssrsPrm As New Microsoft.Reporting.WebForms.ReportParameter(param.Name)
ssrsPrm.Values.Add(Nothing)
params.Add(ssrsPrm)

...
Me.ReportViewer1.ServerReport.SetParameters(DirectCast(params.ToArray(GetType(Microsoft.Reporting.WebForms.ReportParameter)), Microsoft.Reporting.WebForms.ReportParameter()))

关于reporting-services - SSRS 2008 NULL 参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1099295/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com