简体   繁体   中英

SQL Server Report Builder - Getting “Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)” when connecting to SharePoint lists

I'm unable to connect SQL Server Report Builder 2012 to SharePoint 2013 to create reports from SharePoint lists. This is the error message that I get when trying to create DataSet using Query Designer in SQL Server Report Builder

在此处输入图片说明

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

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)

This is my data source

在此处输入图片说明

在此处输入图片说明

For authentication we use the same service account in execution account, and that is the one provided in this data source. I've enabled Anonymous authentication in IIS for this web site, and it uses the same account.

This problem was fixed by extending web app in SharePoint Central Administration. New web app uses the same application pool but it is on different port, and uses Basic Authentication

It look like that Report Builder uses basic authentication and the web app must use basic authentication too.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM