首页 文章

SSRS错误消息:请求失败,HTTP状态为400:错误请求

提问于
浏览
0

管理员通过为我添加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>

2 回答

  • 1

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

  • 0

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

    http: (servername)/Reports
    

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

相关问题