By Mistake Legacy UI module and not, its not started

Hi, Reporting module run. But 2 serious issue. That’s why I can’t use it.

  1. Reporting module active successfully after removing the foreign key constraint named “report_definition_id_for_reporting_report_design”.

  2. But No SQL query and custom report not working.

  3. See the screenshot:

Probably it might happen for folder permission issue.

  1. But its still not working at Dataset window:

But i ran this query with mysql client . Its working.

See tomcat log: aused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Table 'open - Pastebin.com

What is the name of your database?

DB name: openmrs_new

Can you please tell me , which folder need file permission for generete report.

Currently I’m working on windows server.

According to the error message, your query assumes that the database name is openmrs

Yes, I solve this. But one issue:

27/Feb/2018 14:50:54 Report Generation Completed in 0:00:00.172
27/Feb/2018 14:50:54 Writing the report error to disk
27/Feb/2018 14:50:54 Report Evaluation Failed
27/Feb/2018 14:50:54 Evaluating testCXR
27/Feb/2018 14:50:54 Evaluating BD-CXR Report
27/Feb/2018 14:50:54 Evaluating Report Data....
27/Feb/2018 14:50:54 Starting to process report...
27/Feb/2018 14:50:54 Report in queue at position 1
27/Feb/2018 14:50:54 Report Requested by Ali Habib

Error details:

org.openmrs.module.reporting.evaluation.EvaluationException: Failed to evaluate data set 'testxp' because:
Failed to evaluate Error evaluating because:
Unable to retrieve columns for query
	at org.openmrs.module.reporting.report.definition.evaluator.DefaultReportDefinitionEvaluator.evaluate(DefaultReportDefinitionEvaluator.java:86)
	at org.openmrs.module.reporting.report.definition.evaluator.DefaultReportDefinitionEvaluator.evaluate(DefaultReportDefinitionEvaluator.java:39)
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.executeEvaluator(BaseDefinitionService.java:373)
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.evaluateBypassingExclusionOfTestPatients(BaseDefinitionService.java:276)
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.evaluate(BaseDefinitionService.java:233)
	at org.openmrs.module.reporting.report.definition.service.ReportDefinitionServiceImpl.evaluate(ReportDefinitionServiceImpl.java:159)
	at org.openmrs.module.reporting.report.definition.service.ReportDefinitionServiceImpl.evaluate(ReportDefinitionServiceImpl.java:28)
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.evaluate(BaseDefinitionService.java:357)
	at org.openmrs.module.reporting.report.definition.service.ReportDefinitionServiceImpl.evaluate(ReportDefinitionServiceImpl.java:151)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy100.evaluate(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
	at com.sun.proxy.$Proxy176.evaluate(Unknown Source)
	at org.openmrs.module.reporting.report.service.ReportServiceImpl.runReport(ReportServiceImpl.java:462)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
	at com.sun.proxy.$Proxy118.runReport(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy119.runReport(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
	at com.sun.proxy.$Proxy119.runReport(Unknown Source)
	at org.openmrs.module.reporting.report.task.RunQueuedReportsTask.executeTask(RunQueuedReportsTask.java:50)
	at org.openmrs.module.reporting.report.task.ReportingTask.run(ReportingTask.java:28)
	at org.openmrs.api.context.Daemon$5.run(Daemon.java:286)
Caused by: org.openmrs.module.reporting.evaluation.EvaluationException: Failed to evaluate Error evaluating because:
Unable to retrieve columns for query
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.executeEvaluator(BaseDefinitionService.java:381)
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.evaluateBypassingExclusionOfTestPatients(BaseDefinitionService.java:268)
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.evaluate(BaseDefinitionService.java:233)
	at org.openmrs.module.reporting.dataset.definition.service.DataSetDefinitionServiceImpl.evaluate(DataSetDefinitionServiceImpl.java:45)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy111.evaluate(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:201)
	at com.sun.proxy.$Proxy187.evaluate(Unknown Source)
	at org.openmrs.module.reporting.report.definition.evaluator.DefaultReportDefinitionEvaluator.evaluate(DefaultReportDefinitionEvaluator.java:82)
	... 63 more
Caused by: java.lang.IllegalArgumentException: Unable to retrieve columns for query
	at org.openmrs.module.reporting.evaluation.querybuilder.SqlQueryBuilder.getColumns(SqlQueryBuilder.java:129)
	at org.openmrs.module.reporting.evaluation.service.EvaluationServiceImpl.getColumns(EvaluationServiceImpl.java:40)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.openmrs.aop.LoggingAdvice.invoke(LoggingAdvice.java:121)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.adapter.MethodBeforeAdviceInterceptor.invoke(MethodBeforeAdviceInterceptor.java:52)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy99.getColumns(Unknown Source)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
	at java.base/java.lang.reflect.Method.invoke(Unknown Source)
	at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
	at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
	at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:281)
	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207)
	at com.sun.proxy.$Proxy175.getColumns(Unknown Source)
	at org.openmrs.module.reporting.dataset.definition.evaluator.SqlDataSetEvaluator.evaluate(SqlDataSetEvaluator.java:85)
	at org.openmrs.module.reporting.dataset.definition.evaluator.SqlDataSetEvaluator.evaluate(SqlDataSetEvaluator.java:41)
	at org.openmrs.module.reporting.definition.service.BaseDefinitionService.executeEvaluator(BaseDefinitionService.java:373)
	... 89 more
Caused by: org.hibernate.exception.SQLGrammarException: error executing work
	at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:80)
	at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:49)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:126)
	at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:112)
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:318)
	at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:2095)
	at org.hibernate.internal.SessionImpl.doWork(SessionImpl.java:2080)
	at org.openmrs.api.db.hibernate.DbSession.doWork(DbSession.java:1005)
	at org.openmrs.module.reporting.evaluation.querybuilder.SqlQueryBuilder.getColumns(SqlQueryBuilder.java:104)
	... 125 more
Caused by: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ':Patient_id) AS Screening

RIGHT JOIN

(SELECT ID.IDENTIFIER AS PATIENT_ID, ' at line 15
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
	at java.base/java.lang.reflect.Constructor.newInstance(Unknown Source)
	at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
	at com.mysql.jdbc.Util.getInstance(Util.java:386)
	at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237)
	at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169)
	at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617)
	at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778)
	at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2825)
	at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2156)
	at com.mysql.jdbc.PreparedStatement.execute(PreparedStatement.java:1375)
	at com.mysql.jdbc.PreparedStatement.getMetaData(PreparedStatement.java:2933)
	at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.getMetaData(NewProxyPreparedStatement.java:64)
	at org.openmrs.module.reporting.evaluation.querybuilder.SqlQueryBuilder$1.execute(SqlQueryBuilder.java:111)
	at org.hibernate.jdbc.WorkExecutor.executeWork(WorkExecutor.java:54)
	at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:2076)
	at org.hibernate.internal.SessionImpl$2.accept(SessionImpl.java:2073)
	at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.coordinateWork(JdbcCoordinatorImpl.java:313)
	... 129 more

Adding the legacy ui module file at the following location fixed the problem of no user interface installed.

/Library/Tomcat/apache-tomcat-7.0.92/webapps/openmrs/WEB-INF/bundledModules