2013-07-22 180 views
0

管理员通过为我添加Report Viewer 2012更新了开发者和测试服务器。SSRS错误消息:HTTP状态400请求失败:错误请求

我无法访问测试服务器,但在开发服务器上是管理员。我可以与管理员访问测试服务器的人合作,但我需要知道要查找什么。

从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

你可能有正确的权限(或报表项目本身),而不是访问目录的文件夹中。通过直接转到SSRS服务器来检查目录的权限:

http: (servername)/Reports 

单击“文件夹设置”,然后安全应该出现。如果您希望连接的根不会弹出错误,则应在此处添加相关用户。一般来说,SSRS可以是项目配置集,子项目目录(也可以是更多目录)或根目录集。通常,当将代码连接到SSRS时,主着陆页是上面显示的点,除非您在代码后面或配置中指定其他起点。

+0

谢谢,我们可以看看,但你有什么想法,为什么只升级到最新版本可能导致这个问题? – NicVerAZ

+0

我不确定为什么会发生这种情况,因为大多数时间升级都需要使用策略设置。我只是从你所描述的内容中知道,听起来像父对象的权限是不同的。这可能是网络形式改变处理的方式,我不确定。我只知道访问是SSRS的一个常见问题,无论前端是如何拨打电话的。 – djangojazz

1

长话短说,升级到2008年的解决方案到2013年,最初部署良好,然后开始部署除两个报告之外的所有部署。在Fiddler中跟踪服务调用显示数据源的密码字段中看起来像垃圾。一旦我在每个失败报告的数据源上重新输入密码,错误就会消失。

相关问题