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: Link
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?