如何將null
參數傳遞到SQL 2008報表中?SSRS 2008 NULL參數
"...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."
即使:隨ReportExecution & ReportService2005 Web服務接口的代碼一直在通過調用ReportExecutionService.SetExecutionParameters()
方法執行ReportExecutionService.Render()
方法,之後我設置的參數(不包括可空一個)會產生錯誤該參數在.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);
嘗試啓用了允許在參數 – u07ch 2009-07-08 17:27:28
我試過了空白選項,它並不能幫助。 – JonathanWolfson 2009-07-08 23:20:45