管理员通过为我添加Report Viewer 2012来更新开发和测试服务器。
我无法访问测试服务器,但我是dev服务器上的管理员。我可以与拥有测试服务器管理员权限的人合作,但我需要知道要查找的内容。
从Visual Studio 2012部署的我的SSRS报告已从10.0版转换为Microsoft.ReportViewer.WebForms 11.0。
这些报告只能在我的开发服务器上找到,但是当我的QA测试人员使用该报告时,页面第一次显示错误“请求失败并显示HTTP状态400:错误请求”。
请注意,默认情况下不会加载任何报告。
我们请求报告后,此报告会正确显示,错误消息会消失。
我正在尝试删除此初始错误消息,因为它让最终用户感到困惑。
有人有任何想法吗?
提前致谢!
以下是开发人员工具显示的代码。
<DIV id=ctl00_Body_ReportViewer1_ctl09_VisibilityState ForNonReportContentArea="true" NewContentType="Microsoft.Reporting.WebFormsClient.ReportAreaContent.Error"><INPUT name=ctl00$Body$ReportViewer1$ctl09$VisibilityState$ctl00 value=Error type=hidden> </DIV><INPUT id=ctl00_Body_ReportViewer1_ctl09_ScrollPosition name=ctl00$Body$ReportViewer1$ctl09$ScrollPosition value="0 0" type=hidden><SPAN id=ctl00_Body_ReportViewer1_ctl09_Reserved_AsyncLoadTarget></SPAN>
<DIV style="DISPLAY: none" id=ctl00_Body_ReportViewer1_ctl09_ReportControl><SPAN></SPAN><INPUT name=ctl00$Body$ReportViewer1$ctl09$ReportControl$ctl02 type=hidden><INPUT name=ctl00$Body$ReportViewer1$ctl09$ReportControl$ctl03 type=hidden><INPUT id=ctl00_Body_ReportViewer1_ctl09_ReportControl_ctl04 name=ctl00$Body$ReportViewer1$ctl09$ReportControl$ctl04 value=100 type=hidden> </DIV>
<DIV style="WIDTH: 100%; HEIGHT: 100%" id=ctl00_Body_ReportViewer1_ctl09_NonReportContent>
<DIV style="FONT-FAMILY: Verdana; FONT-SIZE: 8pt">
<UL>
<LI style="DISPLAY: inline">The request failed with HTTP status 400: Bad Request.</LI></UL></DIV></DIV>
这是aspx文件中的代码:
<asp:UpdatePanel ID="TFD_UP" runat="server">
<ContentTemplate>
<rsweb:ReportViewer ID="ReportViewer1" runat="server" Font-Names="Verdana" Font-Size="8pt"
ProcessingMode="Remote" Height="100%" Width="100%" PromptAreaCollapsed="True"
ShowParameterPrompts="False" ShowPromptAreaButton="False"
ShowBackButton="False" ShowFindControls="False" ShowPrintButton="False"
ShowRefreshButton="False" ShowZoomControl="False"
></rsweb:ReportViewer>
<rsweb:ReportViewer runat="server"></rsweb:ReportViewer>
<Triggers>
<asp:AsyncPostBackTrigger ControlID="btnClick" EventName="Click" />
</Triggers>
</asp:UpdatePanel>
答案 0 :(得分:1)
长话短说,将2008年的解决方案升级到2013年,最初部署得很好,然后开始部署除了两个报告以外的所有报告。跟踪Fiddler中的服务调用显示了数据源密码字段中的垃圾。一旦我在每个失败的报告的数据源上重新输入密码,错误就会消失。
答案 1 :(得分:0)
您可能有权访问具有正确权限的文件夹(或报表项本身),而不能访问目录。通过直接转到SSRS服务器来检查目录的权限:
http: (servername)/Reports
点击“文件夹设置”,然后会出现安全问题。如果您希望连接的根目录不弹出错误,则应在此处添加相关用户。一般而言,SSRS可以是项目配置集,子项目目录(也可以是更多目录)或根目录集。通常在将代码连接到SSRS时,主要登录页面是上面显示的点,除非您在代码后面指定或配置一些其他起点。