Getting Access Denied While Diplaying BDC Data in a Custom list or Business Data webPart or SharePoint Desinger web parts
Symptoms
When you Try to Dispay BDC Information in Business Data webpart or any other webparts, Getting Error message "Access Denied".
When we Check in the ULS logs we get the below errors.
w3wp.exe (0x133C) 0x1474 SharePoint Foundation Web Parts 89a1 High Error while executing web part: Microsoft.BusinessData.Runtime.ExceededLimitException: Database Connector has throttled the response. The response from database contains more than '2000' rows. The maximum number of rows that can be read through Database Connector is '2000'. The limit can be changed via the 'Set-SPBusinessDataCatalogThrottleConfig' cmdlet. at Microsoft.SharePoint.BusinessData.SystemSpecific.Db.ThrottledIDataReader.Read() at Microsoft.SharePoint.BusinessData.SystemSpecific.Db.DbEntityInstanceEnumerator.MoveNext() at Microsoft.SharePoint.BusinessData.Runtime.EntityInstanceEnumeratorBase.MoveNext() at Microsoft.SharePoint.SPListDataSource.GetFilteredEntityInstancesInternal(XmlDocument xdQueryView, Boolean fFormatDates, Boolean fUTCToLocal, String firstRowId, Boolean fBackwardsPaging, String& bdcidFirstRow, String& bdcidNextPageRow, List`1& lstColumnNames, Dictionary`2& dictColumnsUsed, List`1& mapRowOrdering, List`1& lstEntityData) at Microsoft.SharePoint.SPListDataSource.GetFilteredEntityInstances(XmlDocument xdQueryView, Boolean fFormatDates, Boolean fUTCToLocal, String firstRowId, Boolean fBackwardsPaging, String& bdcidFirstRow, String& bdcidNextPageRow, List`1& lstColumnNames, Dictionary`2& dictColumnsUsed, List`1& mapRowOrdering, List`1& lstEntityData) at Microsoft.SharePoint.SPListItemCollection.EnsureEntityDataViewAndOrdering(String& bdcidFirstRow, String& bdcidNextPageFirstRow) at Microsoft.SharePoint.SPListItemCollection.EnsureListItemsData() at Microsoft.SharePoint.SPListItemCollection.get_Count() at Microsoft.SharePoint.WebControls.SPDataSourceView.ExecuteSelect(DataSourceSelectArguments selectArguments, String aggregateString, Boolean wantReturn, BaseXsltListWebPart webpart, SPListItem& listItem, SPListItemCollection& listItems, String[]& fieldList) at Microsoft.SharePoint.WebControls.SingleDataSource.GetXPathNavigatorInternal() at Microsoft.SharePoint.WebControls.SingleDataSource.GetXPathNavigator() at Microsoft.SharePoint.WebPartPages.DataFormWebPart.PrepareAndPerformTransform(Boolean bDeferExecuteTransform) cc200f20-ddab-467e-a783-a9ecdf228b5d
Cause
If the Teshhold value reaches the limit which is already set to 2000 by default and we are trying to Display more number of items from the BDC.
Resolution/WorkAround:
1. Open SharePoint 2010 Management Shell
2. Run the bleow commands
Get-SPServiceApplicationProxy
Note: We need to use the BDC servcie application proxy GUID
$a = Get-SPServiceApplicationProxy | where {$_.Id –eq “<BDC servcie application proxy GUID>”}
$b = Get-SPBusinessDataCatalogThrottleConfig -Scope Database -ThrottleType Items -ServiceApplicationProxy $a
Set-SPBusinessDataCatalogThrottleConfig -Identity $b -Maximum 1000000 -Default 800000
3. Do IIS reset
This will help in displaying the Data in the list or Webparts