SqlExceptionHelper - Table 'qd99emdb.COMPONENT' doesn't exist

Document ID : KB000047334
Last Modified Date : 14/02/2018
Show Technical Document Details

Issue: 

When I start Enterprise dashboard I am seeing the following errors in the ED logs and it fails to load data : 


2016-09-29 16:10:00,662Z (12:10) [http-nio-1506-exec-10] WARN org.hibernate.engine.jdbc.spi.SqlExceptionHelper - SQL Error: 1146, SQLState: 42S02 
2016-09-29 16:10:00,662Z (12:10) [http-nio-1506-exec-10] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Table 'qd99emdb.COMPONENT' doesn't exist 
2016-09-29 16:10:00,663Z (12:10) [http-nio-1506-exec-10] ERROR com.ca.dradis.service.RegistryService - failed to get registries: 

 

Environment:  

MySQLv 5.6

Linux

DEVTEST 9.1

Diagnostics:

Enterprise Dashboard is configured for MySQL on Linux Sever.  

 We noticed that the tables were created with lowercase table name upon ED start up.  But it is looking for uppercase  table names Table 'qd99emdb.COMPONENT'  while trying to retrieve the data. 

This is what we saw in the ED logs

org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Table 'qd99emdb.COMPONENT' doesn't exist 

MySQL database is configured with case-sensitive table name by default. We need to setup MySQL database with case-insensitive identifiers to get it to work

 

 Resolution:

Drop the tables for ED. 

Change MySQL database settings as below:

/etc/mysql/my.cnf
add the line

lower_case_table_names=1


Run

sudo service mysql restart

 

Recreate the Enterprise Dashboard Tables again . 

 You can now see the enterprise dashboard correctly, and no table issue in the log . This should work for Registry Tables too. 

Additional Information:

 

None