Summary:

On a new install of CRM v7.2, an error may occur on the Interactive Dashboard:

The dashboard could not be displayed. Please contact your system administrator

Symptoms:

The below error will appear in the SDATA schema and log files:

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'cloneReportController': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sage.crm.web.model.report.ReportGetDataModel com.sage.crm.web.controller.CloneReportController.reportDataModel; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportGetDataModel': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sage.crm.core.dao.MetaDataDao com.sage.crm.web.model.report.ReportGetDataModel.metaDataDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaDataDao' defined in ServletContext resource [/WEB-INF/core-beans.xml]: Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
...
org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sage.crm.web.model.report.ReportGetDataModel com.sage.crm.web.controller.CloneReportController.reportDataModel; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportGetDataModel': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sage.crm.core.dao.MetaDataDao com.sage.crm.web.model.report.ReportGetDataModel.metaDataDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaDataDao' defined in ServletContext resource [/WEB-INF/core-beans.xml]: Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
...
root cause
org.hibernate.exception.GenericJDBCException: Could not open connection
org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:54)
...
root cause
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'reportGetDataModel': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sage.crm.core.dao.MetaDataDao com.sage.crm.web.model.report.ReportGetDataModel.metaDataDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaDataDao' defined in ServletContext resource [/WEB-INF/core-beans.xml]: Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:287)
...
root cause
org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.sage.crm.core.dao.MetaDataDao com.sage.crm.web.model.report.ReportGetDataModel.metaDataDao; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'metaDataDao' defined in ServletContext resource [/WEB-INF/core-beans.xml]: Invocation of init method failed; nested exception is org.springframework.transaction.CannotCreateTransactionException: Could not open Hibernate Session for transaction; nested exception is org.hibernate.exception.GenericJDBCException: Could not open connection
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:506)
...

Work around / Resolution:

The issue is caused by the CRMJ webapp not being able to gain a connection to the database. The cause of the error is listed in the error text:

java.sql.SQLException: Connections could not be acquired from the underlying database!

Check the db.properties in the webapp's WEB-INF directory, and troubleshoot TCP/IP connections to the database as normal.