We have been seeing some issues with customers using PowerPivot workbooks as a source file in new Excel PowerPivot files. There are a variety of errors that can arise from this process, and this blog is intended to provide you with some troubleshooting steps to resolve the issue.
You may or may not be aware, but it is possible to use a PowerPivot workbook as a data source for other data applications. For instance, one can use Excel and connect to a PowerPivot file on a SharePoint site as a PowerPivot data source. There may be a file on SharePoint site named BIFinance.xlsx. When creating a new PowerPivot workbook, we could specify our data source as the following:
Fig 1: Using PowerPivot workbook as a data source
In a nutshell, when the data source is the PowerPivot Mid-Tier hosted PowerPivot workbook, the connection goes through a Redirector service on the SharePoint server and is ultimately routed to the SQL Server Analysis Services PowerPivot instance.
For more information on how to use PowerPivot workbooks as a Data Source, please see the following video:
Using PowerPivot Workbooks as a Data Source
A few sample errors that may arise when attempting to connect to the PowerPivot workbook as a data source:
- Failed to connect to the server. Reason: No error message available, result code: DB_SEC_E_AUTH_FAILED(0x80040E4D)
- Unable to connect to data source. Reason: Access denied. You either made a mistake typing in your User ID and/or Password, or you do not have permission to access the database server.
- The following system error occurred: Invalid class string
- PowerPivot Web service returned an error
If you see the "Access Denied"or "Invalid class string" errors, try the following:
1. The SharePoint Web application is setup with Kerberos. If you are seeing the DB_SEC_E_AUTH_FAILED(0x80040E4D) error, then the web application is more than likely set up with Kerberos.
a. Please follow the steps in the following article to resolve the issue. You will need to modify the web.config file on the web front end servers.
2. The client machine making the call or the SharePoint servers do not have updated Microsoft SQL Server Analysis Server OLEDB and ADOMD.Net drivers. You may need to check with your SharePoint administrator to determine what version of PowerPivot is installed in your SharePoint environment.
a. If using SQL Server 2008 R2 PowerPivot:
b. If using SQL Server 2012 PowerPivot:
3. Make sure the SharePoint Web application where the workbook is stored does not have multiple bindings in IIS.
a. Open IIS on the SharePoint Web Front End servers and select the SharePoint web application and click on Bindings.
b. If there is more than one this will fail.
c. If your web application needs more than one binding, you may extend the web application in SharePoint. Please see the following article on how to extend the web application in SharePoint.
Extend a Web application (SharePoint Server 2010) - http://technet.microsoft.com/en-us/library/cc261698(v=office.14).aspx
4. The user that is making the connection needs to have read access the root of the web application. Go to Central Administration > Application Management > Manage web applications > User Policy and give read access to user.
5. Make sure a site collection exists at the root of the web app. If it does not, create one.
6. Restart Excel Services on all the application servers running Excel Services.
7. If you see this error: "XML parsing failed at line 1, column 1: Incorrect document syntax." Please review the following article:
8. If you see this error: "PowerPivot Web service returned an error", try the following:
a. The PowerPivot workbook being used as a data source needs to be in Trusted File Locations in the Excel Services settings. Go to Central Administration > Application Management > Manage service applications. Select the Excel Services application, click on Trusted File Locations, and add the location of the workbook.
b. The PowerPivot System Service account (PowerPivot application pool account) needs to be an administrator of the PowerPivot Analysis Services instance. Connect to the PowerPivot instance in SQL Server Management Studio, right-click on the instance, select Properties, select Security and add the account.
The steps above should resolve most of the errors that are seen when attempting to use a PowerPivot workbook as a data source within Excel PowerPivot.