SQL Server报表生成器 - 连接到SharePoint列表时获取“HRESULT异常:0x80070005(E_ACCESSDENIED)”

时间:2014-05-02 13:23:01

标签: sql-server authentication iis sql-server-2012 sharepoint-2013

我无法将SQL Server Report Builder 2012连接到SharePoint 2013以从SharePoint列表创建报表。这是我在SQL Server报表生成器

中尝试使用查询设计器创建DataSet时收到的错误消息

enter image description here

===================================

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
   at Microsoft.SharePoint.SoapServer.Lists.GetListCollection()
   --- End of inner exception stack trace ---
 (Microsoft SQL Server Report Builder)

------------------------------
Program Location:

   at Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteConnection.ExecuteServiceRequest(ServiceRequest request)
   at Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteConnection.GetLists()
   at Microsoft.ReportingServices.QueryDesigners.SharePoint.SharePointTables.Refresh()
   at Microsoft.ReportingServices.QueryDesigners.SharePoint.QueryDesigner.Presenter.ValidateConnection()
   at Microsoft.ReportingServices.QueryDesigners.SharePoint.SharePointQueryDesigner.InitializeQueryDesigner()
   at Microsoft.ReportingServices.QueryDesigners.InternalQueryDesignerWrapper.InitializeDesigner()
   at Microsoft.ReportingServices.QueryDesigners.InternalQueryDesignerWithGenericModeWrapper.Initialize()

===================================

System.Web.Services.Protocols.SoapException: Server was unable to process request. ---> System.UnauthorizedAccessException: Access is denied. (Exception from HRESULT: 0x80070005 (E_ACCESSDENIED))
   at Microsoft.SharePoint.SoapServer.Lists.GetListCollection()
   --- End of inner exception stack trace --- (System.Web.Services)

------------------------------
Program Location:

   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Microsoft.ReportingServices.DataExtensions.SharePointList.SPListService.GetListCollection()
   at Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteConnection.<>c__DisplayClass1.<GetLists>b__0(SPListService listSvc)
   at Microsoft.ReportingServices.DataExtensions.SharePointList.SPRemoteConnection.ExecuteServiceRequest(ServiceRequest request)

这是我的数据来源

enter image description here

enter image description here

对于身份验证,我们在执行帐户中使用相同的服务帐户,这是此数据源中提供的帐户。我在IIS中为此网站启用了匿名身份验证,并且它使用相同的帐户。

1 个答案:

答案 0 :(得分:0)

通过在SharePoint管理中心中扩展Web应用程序来解决此问题。新的Web应用程序使用相同的应用程序池,但它位于不同的端口,并使用基本身份验证

看起来Report Builder使用基本身份验证,Web应用程序也必须使用基本身份验证。