2013-07-22 213 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中跟蹤服務調用顯示數據源的密碼字段中看起來像垃圾。一旦我在每個失敗報告的數據源上重新輸入密碼,錯誤就會消失。

相關問題