通过VS2012我连接到报告webservice并需要将“handShake”参数加载到我的报告中,该报告是ServerReport,而不是LocalReport。
这是我的Page_Init代码:
If (Request.QueryString("handShake") = Nothing) Then
Response.Redirect("~/AccessDenial.aspx")
End If
'' Set up the credentials
ReportViewer1.ServerReport.ReportServerUrl = New Uri(ConfigurationManager.AppSettings("MyReportServerPath"))
ReportViewer1.ServerReport.ReportServerCredentials = New MyReportServerCredentials()
Dim objparameter As Microsoft.Reporting.WebForms.ReportParameter
objparameter = New Microsoft.Reporting.WebForms.ReportParameter("handShake", Request.QueryString("handShake").ToString)
ReportViewer1.ServerReport.SetParameters(objparameter)
最后一行代码给出了错误:
The source of the report definition has not been specified."
在许多论坛上,他们说我需要将serverReport更改为localReport,但事实并非如此......
非常感谢您的帮助!
答案 0 :(得分:3)
除了
.ServerReport.ReportServerUrl
和
.ServerReport.ReportServerCredentials
你还必须指定
.ServerReport.ReportPath
指向SSRS中的实际报告。这是您为其设置参数的报告定义(普通的上载RDL)。 E.g。
ReportViewer1.ServerReport.ReportPath = "/My Reports/Summary Report"