Take the 2-minute tour ×
SharePoint Stack Exchange is a question and answer site for SharePoint enthusiasts. It's 100% free, no registration required.

I enabled Excel Services and added a Excel Web Access viewer to my page. It's just a simple spreadsheet (which incidentally works fine on my standalone development server) that displays the error "The workbook cannot be opened." when the page loads. The trusted file locations are set up appropriately. We are using Kerberos authentication.

My event viewer showed this "Critical" event (ID: 3760):

SQL Database 'Prod_WSS_Content' on SQL Server instance 'servername' not found. Additional error information from SQL Server is included below.

Cannot open database "Prod_WSS_Content" requested by the login. The login failed. Login failed for user 'domain\user'.

In other words, the service account that ECS was running under did not have permission to the content database. So I granted the user read permission on the database. Then I got the same error and this "Error" level event in the event viewer (ID: 5617):

There is a compatibility range mismatch between the Web server and database "Prod_WSS_Content", and connections to the data have been blocked to due to this incompatibility. This can happen when a content database has not been upgraded to be within the compatibility range of the Web server, or if the database has been upgraded to a higher level than the web server. The Web server and the database must be upgraded to the same version and build level to return to compatibility range.

This error is typically associated with 2007 to 2010 upgrades apparently, but I did a fresh 2010 installation on a pristine machine. I found a very helpful post on the subject on the MSDN blogs: http://blogs.msdn.com/b/jjameson/archive/2010/05/04/the-workbook-cannot-be-opened-error-with-sharepoint-server-2010-and-tfs-2010.aspx

I gave the ECS service account db_owner permission on the content database. I'm still getting the error "The workbook cannot be opened." I ran the PowerShell commands listed at the bottom of the post, and no change.

What's interesting now, is that nothing at all is showing up in the event viewer. I wonder if it is because of the statement in the event log that says "connections to the data have been blocked due to this incompatibility." Is there something on the SharePoint server blocking the connection to SQL Server that needs to be reset?

share|improve this question
add comment

7 Answers

Microsoft say you need to give your Excel Services account access to all content databases in the SP2010 Kerberos Guide. You can do this with the following PowerShell instead of manually with SQL Management Studio:

$w = Get-SPWebApplication -Identity http://portal
$w.GrantAccessToProcessIdentity("vmlab\svcExcel")
share|improve this answer
1  
This did it for me. Thanks! –  Nathan DeWitt Jun 19 '12 at 13:12
add comment

http://wellytonian.com/2011/10/excel-workbook-cannot-be-opened-error-%e2%80%93-sharepoint-2010/ Similar issue

I had a similar issue couple of hours before writing this blog post. Simple Doc Lib that wouldnt open Excel Workbook within the Browser. My Google page as usual has turned pink searching for an answer.

The solution was either one of the following

  1. Hotfix missing within your environment. The post has a link to the Hotfix. You would need this no matter what.
  2. The Script helps resolve the permission issue for your Service Application's Service Account to have proper authentication within Content DB on SQL> Ultimately it is giving the service account DBowner status and nothing else :) but we all know how touchy DB Admins are aye :) hence the script.
share|improve this answer
    
Please dont just link to external content. Describe what you think solves the issue and post that in answer, and then link! (external links tend to be short lived) –  Anders Rask Oct 22 '11 at 16:53
    
apologies... was my first post here and came here because I had hit that issue 2 hours before it. Whenever I find a solution I tend to blog it so blogged it and put a link here if the issue still existed. –  Aben Samuel Oct 24 '11 at 8:38
    
Hopefully thats fixed it... this site is cool :) LOL! –  Aben Samuel Oct 24 '11 at 8:57
    
Thanks for editing your answer! :) –  Kit Menke Oct 24 '11 at 14:13
    
Downvote removed, upvote added! Welcome aboard @aben :) –  Anders Rask Oct 24 '11 at 15:42
add comment

I had the same error "The workbook cannot be opened." on pretty much a fresh 2010 install too--except i hadn't even configured kerberos or any trusted file location.

All I did was the first thing your links to blogs.msdn.com suggested--to give the account db_owner on the content db (which doesn't seem right, but works).

And from then on the spreadsheet loaded fine, in the doc lib and in the excel web part. I didn't have to reset any services or do any PowerShell. I did close browser session down and open a new one, but that was it.

thanks for the tip. Hope you solved yours.

share|improve this answer
    
Glad it worked for you. Thanks for taking the time to respond. –  Rob Wilson Oct 15 '10 at 13:43
    
BTW: Kerberos is not required for ECS to work, but it will get you past the "double-hop" problem. If you have an external connection (to a database) in your Excel spreadsheet and try to do a data refresh, it may (more than likely will) error out on you if you are not using kerberos. Just FYI. –  Rob Wilson Oct 26 '10 at 13:47
    
thanks for that. i've only just recently got familiar with kerberos. it does rock. –  zee Oct 31 '10 at 21:10
add comment

Great Article Thanks for posting. Attempt all other options; but finally result into giving the AppsPool account for Excel Web Application Service db Owner of the content database that house the location of the excel spreadsheets.

share|improve this answer
add comment

Late post, I know but it might help someone...

After following the above guides I had to remove the Excel Services Application Proxy and the Excel Services Application and recreate them again. After that everything worked.

share|improve this answer
    
I recreated it, but had to grant permissions as per Daniel Butler's answer. –  Nathan DeWitt Jun 19 '12 at 13:12
add comment
up vote 0 down vote accepted

I don't know what the magic combination was, but we restarted all the servers (SharePoint and DB) because of a different issue and created a new site collection. ECS works as expected now.

share|improve this answer
add comment

All, you do not need to access to the DB, make permissions changes directly.

In Central Admin, select (without clicking it's link) the Excel Web App, within Manage Service Applications. When selected, click 'Administrators' at the top of the page, and add your Service Account there.

This will prevent the error and open the spreadsheet.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.