Troubleshooting long External List in SharePoint 2010
December 6, 2009 — srenziDuring these days I’ve been working with SharePoint 2010, basically I was building a site based on an existing data base. To retrieve this information from the database I’ve using External Lists linked to External Content Types, and this External Content Types retrieve data from Views in a SQL Server 2008 R2 database.
In one of the pages that I was building I started receiving the following error message:
“Unable to display this Web Part. To troubleshoot the problem, open this Web page in a Microsoft SharePoint Foundation-compatible HTML editor such as Microsoft SharePoint Designer. If the problem persists, contact your Web server administrator. Correlation ID:b944db82-81bd-40a0-8a1a-ba24c57c1eac”
As you can see the message is not self descriptive and did not help to find the problem. After trying several things without satisfactory results I took my iPhone and point the browser to the mobile version of my site inside SharePoint, and surprisingly a very detailed error message appeared. As you can see below, External List can read through Database Connector 2000 rows (Default configuration). If your query returns more than 2000 rows you will receive this error message. But the mobile version also tell us how to solve this. We need to execute a PowerShell cmdlet and change the configuration.
To change the configuration first we need to open the SharePoint 2010 Management Shell found under Start-> Microsoft SharePoint 2010 Products.
This will open a console window were we should type the following:
Get-SPServiceApplicationProxy
You will see a list of Proxy Services, but we are going to use the first in the list, “Business Data Connectivity Service”
Copy Business Data Connectivity Service GUID and execute the following command in the console to see the current Throttle configuration:
Get-SPBusinessDataCatalogThrottleConfig -Scope Database -ThrottleType Items -ServiceApplicationProxy 0410fefe-e1fa-46d6-99a5-2357e44f7b67
Now to change the Throttle configuration we will need to store the result of the previous command to use in the following command.
To change the Throttling configuration please execute the following commands:
$Db = Get-SPBusinessDataCatalogThrottleConfig -Scope Database -ThrottleType Items -ServiceApplicationProxy 0410fefe-e1fa-46d6-99a5-2357e44f7b67
Set-SPBusinessDataCatalogThrottleConfig -Identity $Db -maximum 8000 -default 6000
After running the commands our Throttle values are 6000 and 8000.
Hope this helps.