请求失败,http状态为401未授权的ssrs

时间:2012-12-10 08:43:13

标签: asp.net sql-server-2008 reporting-services

我正在使用Asp.net开发一个Web应用程序。 C#。要生成报告,我正在使用SQL Server商业智能开发工作室(ssrs)。我收到错误,如“请求失败,http状态401未经授权”请帮助我 提前致谢 实际错误如下

ex = {“请求失败,HTTP状态为401:未经授权。”}

{System.Net.WebException:请求失败,HTTP状态为401:未经授权。    在Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.GetSecureMethods()    在Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.IsSecureMethod(String methodname)    在Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.SetConnectionSSLForMethod(String methodname)    在Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.ProxyMethodInvocation.Execute [TReturn](RSExecutionConnection连接,ProxyMethod 1 initialMethod, ProxyMethod 1 retryMethod)    在Microsoft.Reporting.WebForms.Internal.Soap.ReportingServices2005.Execution.RSExecutionConnection.LoadReport(String Report,String HistoryID)    在Microsoft.Reporting.WebForms.ServerReport.EnsureExecutionSession()    在Microsoft.Reporting.WebForms.ServerReport.SetParameters(IEnumerable`1参数)    在Microsoft.Reporting.WebForms.Report.SetParameters(ReportParameter参数)    在CustomerWtrEff.aspx.cs的Reports_CustomerWtrEff.GetReports(String SampleCodes,String lstSampleCode):第98行}

2 个答案:

答案 0 :(得分:3)

请查看下面的链接,因为它可以为您的问题提供答案。

参考: http://www.taznetworks.com/rss/2006/03/crm-30-sbe-sql-reporting-error.html

修改

  

最近在一些测试安装上与CRM做了一些工作时,我们不断提出错误“安装程序无法验证指定的Reporting Services报告服务器https://server.xxx.com/ReportServer。错误:请求失败,HTTP状态为401:未经授权。

     

这似乎是一个非常普遍的问题,但对这些问题没有太多回应。我可以说的一件事是,CRM是一个很好的产品,但人类在它的内心是复杂的。对于那些肯定是胆小的人来说,尤其是在涉及SQL和SQL报告服务时。

     

无论如何回到问题。在大多数使用CRM 3和SBS的情况下,Anne Stanton等网站上的文档显示ISA存在问题。我们正在建造的这个盒子没有ISA(截至目前)。

     

我们遇到的问题似乎与Windows Server 2003的SP1相比更多。 KB article 896861似乎是正确的。我们根据文章做了以下事项:

     
      
  1. 单击“开始”,单击“运行”,键入regedit,然后单击“确定”。
  2.   
  3. 在注册表编辑器中,找到并单击以下注册表项:HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Lsa
  4.   
  5. 右键单击“Lsa”,指向“新建”,然后单击“DWORD值”。
  6.   
  7. 键入DisableLoopbackCheck,然后按ENTER键。
  8.   
  9. 右键单击“DisableLoopbackCheck”,然后单击“修改”。
  10.   
  11. 在“数值数据”框中,键入1,然后单击“确定”。
  12.   
  13. 退出注册表编辑器,然后重新启动计算机。
  14.         

    这样做让我们可以访问https://servername/reports并显示完整的SQL Reporting Services网站。 CRM报告现在可以按原样运行。

答案 1 :(得分:0)

我遇到了这个问题并且尝试了越来越多,终于找到了

  1. 打开报告服务配置并连接到服务器,然后打开网络服务网址,您会发现网址复制(网址

  2. 打开SQL Server数据工具项目和项目属性 目标服务器URL是报告服务配置中提到的 URL ,目标报告文件夹是项目的名称

  3. 在您的asp.net项目中
  4. ,您将编写以下代码:

  5. ReportViewer1.ProcessingMode = 
    Microsoft.Reporting.WebForms.ProcessingMode.Remote;
    ReportViewer1.ServerReport.ReportServerUrl = new Uri(**URL**);
    ReportViewer1.ServerReport.ReportPath = String.Concat(**target report folder**, "name of the report ");
    ReportViewer1.ServerReport.Refresh();