You can translate the question and the replies:

Storing Denodo Monitor logs in an external Database

I have followed this video https://www.youtube.com/watch?v=y4Lo6iwcKD0&t=36s and try to configure our Denodo Monitor to store the information generated by the queries monitor and/or the cache monitor in a MS SQL SERVER database. I get following error : Error checking monitor metadata status. Unable to establish connection. No suitable driver Here is the paramter details # JDBC Agent Parameters: SQLServer (jTDS) #vdpqueries.jdbcagent.driverClassName=com.microsoft.sqlserver.jdbc.SQLServerDriver #vdpqueries.jdbcagent.url=jdbc:sqlserver://34.75.137.211:41200;DatabaseName=iqzdemo1; vdpqueries.jdbcagent.driverClassName=net.sourceforge.jtds.jdbc.Driver vdpqueries.jdbcagent.url=jdbc:jtds:sqlserver://34.75.137.211:41200;DatabaseName=iqzdemo1 vdpqueries.jdbcagent.user=denodo_reader vdpqueries.jdbcagent.password=denodoreader vdpqueries.jdbcagent.password.encrypted=false vdpqueries.jdbcagent.insertStatement=INSERT INTO request_notification values(%X{ServerName}, %X{Host}, %X{Port}, %X{Id}, %X{Database}, %X{UserName}, %X{NotificationType}, %X{SessionId}, convert(datetime, %X{StartTime}, 126), convert(datetime, %X{EndTime}, 126), %X{Duration}, %X{WaitingTime}, %X{NumRows}, %X{State}, %X{Completed}, %X{Cache}, %X{Query}, %X{RequestType}, %X{Elements}, %X{TruncatedData}, %X{UserAgent}, %X{AccessInterface}, %X{ClientIP}, %X{TransactionId}, %X{WebServiceName}) vdpqueries.jdbcagent.literalQuoteCharacter=' vdpqueries.jdbcagent.escapeCharacter=' vdpqueries.jdbcagent.maxColumnLength=4000
user
26-04-2022 09:45:05 -0400
code

3 Answers

Hi, The error message “Unable to establish connection. No suitable driver” will usually occur if the Solution Manager is unable to find the required JDBC driver to establish the connection to the configured data source. If I face such scenario, I would perform the following steps: 1. Stop the Solution Manager Server and Solution Manager Administration Tool 2. Copy the MSSQL server JDBC driver from the folder **“<SOLUTION_MANAGER_HOME>/lib/extensions/jdbc-drivers”** to the folder **“<SOLUTION_MANAGER_HOME>/lib/solution-manager-extensions”** 3. Ensure that the SQL Server configuration properties in the **”<SOLUTION_MANAGER_HOME>/conf/solution-manager/denodo-monitor/ConfigurationParametersGeneral.template”** file has been uncommented. 4. Restart the server in order to make changes to take effect Once these steps are performed, I would be able to start the Monitor successfully. For more information, you could refer to the **[JDBC Logging Configuration](https://community.denodo.com/docs/html/browse/8.0/en/solution_manager/administration/monitoring/monitoring#jdbc-logging-configuration)** section of the Solution Manager Administration Guide. Hope this helps!
Denodo Team
27-04-2022 09:29:32 -0400
code
**Followed the above steps.Still getting error on connecting to MS SQL Server. ** **Steps: ** copied jar files (mssql-jdbc-6.2.2.jre8.jar, denodo-jtds-1.3.1.jar, oauth2-oidc-sdk-5.64.4.jar, gson-2.8.0.jar, adal4j-1.6.3.jar, mssql-jdbc-7.2.2.jre8.jar) to “<SOLUTION_MANAGER_HOME>/lib/solution-manager-extensions” **Edited the below file, ran regenarateFiles.sh and restarted server. **"<SOLUTION_MANAGER_HOME>/conf/solution-manager/denodo-monitor/ConfigurationParametersGeneral.template” vdpqueries.jdbcagent.enable=true # JDBC Agent Parameters: SQLServer (jTDS) vdpqueries.jdbcagent.driverClassName=net.sourceforge.jtds.jdbc.Driver vdpqueries.jdbcagent.url=jdbc:jtds:sqlserver://xxxxxxx:1433;DatabaseName=xxxxxxx vdpqueries.jdbcagent.user=xxxxxxx vdpqueries.jdbcagent.password=xxxxxxx vdpqueries.jdbcagent.password.encrypted=false vdpqueries.jdbcagent.insertStatement=INSERT INTO request_notification values(%X{ServerName}, %X{Host}, %X{Port}, %X{Id}, %X{Database}, %X{UserName}, %X{NotificationType}, %X{SessionId}, convert(datetime, %X{StartTime}, 126), convert(datetime, %X{EndTime}, 126), %X{Duration}, %X{WaitingTime}, %X{NumRows}, %X{State}, %X{Completed}, %X{Cache}, %X{Query}, %X{RequestType}, %X{Elements}, %X{TruncatedData}, %X{UserAgent}, %X{AccessInterface}, %X{ClientIP}, %X{TransactionId}, %X{WebServiceName}) vdpqueries.jdbcagent.literalQuoteCharacter=' vdpqueries.jdbcagent.escapeCharacter=' vdpqueries.jdbcagent.maxColumnLength=4000 vdploadcacheprocesses.jdbcagent.enable=true # JDBC Agent Parameters (cache): SQLServer (jTDS) vdploadcacheprocesses.jdbcagent.driverClassName=net.sourceforge.jtds.jdbc.Driver vdploadcacheprocesses.jdbcagent.url=jdbc:jtds:sqlserver://xxxxxxx:1433;DatabaseName=xxxxxxx vdploadcacheprocesses.jdbcagent.user=xxxxxxx vdploadcacheprocesses.jdbcagent.password=xxxxxxx vdploadcacheprocesses.jdbcagent.password.encrypted=false vdploadcacheprocesses.jdbcagent.insertStatement=INSERT INTO cache_notification values(%X{ServerName},%X{Host}, %X{Port}, %X{SessionId}, %X{NotificationType}, convert(datetime, %X{NotificationTimestamp}, 126), %X{Id}, %X{QueryPatternId}, %X{DatabaseName}, %X{ViewName}, %X{ViewId}, %X{SqlViewName}, %X{ProjectedFields}, %X{NumConditions}, %X{VDPConditionList}, %X{CacheStatus}, %X{TtlStatusInCache}, %X{TtlInCache}, %X{QueryPatternState}, %X{Exception}, %X{NumOfInsertedRows}, %X{NumOfReceivedRows}, convert(datetime, %X{StartQueryPatternStorageTime}, 126), convert(datetime, %X{EndQueryPatternStorageTime}, 126), %X{QueryPatternStorageTime}, convert(datetime, %X{StartCachedResultMetadataStorageTime}, 126), convert(datetime, %X{EndCachedResultMetadataStorageTime}, 126), %X{CachedResultMetadataStorageTime}, convert(datetime, %X{StartDataStorageTime}, 126), convert(datetime, %X{EndDataStorageTime}, 126), %X{DataStorageTime}, %X{TruncatedData}) vdploadcacheprocesses.jdbcagent.literalQuoteCharacter=' vdploadcacheprocesses.jdbcagent.escapeCharacter=' vdploadcacheprocesses.jdbcagent.maxColumnLength=4000 **ERROR LOG: ** **434444 [https-jsse-nio2-19443-exec-10] ERROR 2022-04-29T10:37:49.836 MonitorService [] - Error checking monitoring metadata status com.denodo.parser.connection.ConnectionException: Error retrieving data from 'https://localhost:10090/monitor/metadata/checkStatus?environmentId=1'. HTTP error code: 502.** at com.denodo.parser.connection.http.CommonsHttpClientConnection.getEncodedInputStreamHolder(CommonsHttpClientConnection.java:565) ~[denodo-commons-connection-util-8.0.3-SNAPSHOT.jar:8.0.3] at com.denodo.parser.connection.Connection.obtainProcessedEncodedInputStreamHolder(Connection.java:158) ~[denodo-commons-connection-util-8.0.3-SNAPSHOT.jar:8.0.3] at com.denodo.parser.connection.Connection.getInputStreamAsStream(Connection.java:129) ~[denodo-commons-connection-util-8.0.3-SNAPSHOT.jar:8.0.3] at com.denodo.solutionmanagertool.business.utils.RequestUtils.getStringJsonFromResponse(RequestUtils.java:143) ~[classes/:8.0.3] at com.denodo.solutionmanagertool.business.services.MonitorService.checkMonitorMetadataStatus(MonitorService.java:232) [classes/:8.0.3] at com.denodo.solutionmanagertool.web.controllers.MonitorController.checkMetadataStatus(MonitorController.java:50) [classes/:8.0.3] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [servlet-api.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at com.denodo.webapp.security.sso.filter.ForwardedHeaderConditionalFilter.doFilter(ForwardedHeaderConditionalFilter.java:83) [denodo-security-sso-web-lib-8.0.3-SNAPSHOT.jar:8.0.3] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:9.0.56] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:659) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:9.0.56] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:9.0.56] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [catalina.jar:9.0.56] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) [tomcat-coyote.jar:9.0.56] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.56] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1690) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1176) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:622) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:600) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:1020) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:948) [tomcat-coyote.jar:9.0.56] at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127) [?:?] at sun.nio.ch.Invoker$2.run(Invoker.java:219) [?:?] at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [?:?] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.56] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.56] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.56] at java.lang.Thread.run(Thread.java:834) [?:?] **434452 [https-jsse-nio2-19443-exec-10] ERROR 2022-04-29T10:37:49.844 MonitorController [] - Error checking monitor metadata status for environment with id &apos;1&apos; com.denodo.solutionmanagertool.business.exceptions.ServiceException: Unable to establish connection. Login failed for user 'denodo_reader'. ClientConnectionId:26cf407b-365d-4d89-87bc-a1650737d386** at com.denodo.solutionmanagertool.web.utils.ExceptionHandlingUtils.toServiceException(ExceptionHandlingUtils.java:92) ~[classes/:8.0.3] at com.denodo.solutionmanagertool.business.services.MonitorService.checkMonitorMetadataStatus(MonitorService.java:238) ~[classes/:8.0.3] at com.denodo.solutionmanagertool.web.controllers.MonitorController.checkMetadataStatus(MonitorController.java:50) [classes/:8.0.3] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [servlet-api.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at com.denodo.webapp.security.sso.filter.ForwardedHeaderConditionalFilter.doFilter(ForwardedHeaderConditionalFilter.java:83) [denodo-security-sso-web-lib-8.0.3-SNAPSHOT.jar:8.0.3] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:9.0.56] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:659) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:9.0.56] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:9.0.56] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [catalina.jar:9.0.56] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) [tomcat-coyote.jar:9.0.56] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.56] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1690) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1176) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:622) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:600) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:1020) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:948) [tomcat-coyote.jar:9.0.56] at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127) [?:?] at sun.nio.ch.Invoker$2.run(Invoker.java:219) [?:?] at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [?:?] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.56] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.56] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.56] at java.lang.Thread.run(Thread.java:834) [?:?] **434456 [https-jsse-nio2-19443-exec-10] ERROR 2022-04-29T10:37:49.848 ResponseUtils [] - Unable to establish connection. Login failed for user &apos;denodo_reader&apos;. ClientConnectionId:26cf407b-365d-4d89-87bc-a1650737d386 com.denodo.solutionmanagertool.business.exceptions.ServiceException: Unable to establish connection. Login failed for user 'denodo_reader'. ClientConnectionId:26cf407b-365d-4d89-87bc-a1650737d386** at com.denodo.solutionmanagertool.web.utils.ExceptionHandlingUtils.toServiceException(ExceptionHandlingUtils.java:92) ~[classes/:8.0.3] at com.denodo.solutionmanagertool.business.services.MonitorService.checkMonitorMetadataStatus(MonitorService.java:238) ~[classes/:8.0.3] at com.denodo.solutionmanagertool.web.controllers.MonitorController.checkMetadataStatus(MonitorController.java:50) [classes/:8.0.3] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:?] at jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:?] at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?] at java.lang.reflect.Method.invoke(Method.java:566) ~[?:?] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:190) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:105) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:878) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:792) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1043) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:943) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1006) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:898) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:655) [servlet-api.jar:4.0.FR] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:883) [spring-webmvc-5.2.18.RELEASE.jar:5.2.18.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:764) [servlet-api.jar:4.0.FR] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:227) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at com.denodo.webapp.security.sso.filter.ForwardedHeaderConditionalFilter.doFilter(ForwardedHeaderConditionalFilter.java:83) [denodo-security-sso-web-lib-8.0.3-SNAPSHOT.jar:8.0.3] at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:358) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:271) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat-websocket.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:126) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:201) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:119) [spring-web-5.2.18.RELEASE.jar:5.2.18.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189) [catalina.jar:9.0.56] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97) [catalina.jar:9.0.56] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:659) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135) [catalina.jar:9.0.56] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [catalina.jar:9.0.56] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78) [catalina.jar:9.0.56] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:357) [catalina.jar:9.0.56] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:382) [tomcat-coyote.jar:9.0.56] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65) [tomcat-coyote.jar:9.0.56] at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:895) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$SocketProcessor.doRun(Nio2Endpoint.java:1690) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.AbstractEndpoint.processSocket(AbstractEndpoint.java:1176) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:622) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.Nio2Endpoint$Nio2SocketWrapper$2.completed(Nio2Endpoint.java:600) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:1020) [tomcat-coyote.jar:9.0.56] at org.apache.tomcat.util.net.SecureNio2Channel$1.completed(SecureNio2Channel.java:948) [tomcat-coyote.jar:9.0.56] at sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127) [?:?] at sun.nio.ch.Invoker$2.run(Invoker.java:219) [?:?] at sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112) [?:?] at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191) [tomcat-util.jar:9.0.56] at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659) [tomcat-util.jar:9.0.56] at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-util.jar:9.0.56] at java.lang.Thread.run(Thread.java:834) [?:?]
user
29-04-2022 06:51:47 -0400
Hi, I would get the error message **“Unable to establish connection. Login failed for user”** when the username or password to connect the database is incorrect. If I face such scenario, I would follow the below steps, 1. Try connecting the database with correct username/password 2. Test the connection to that Database from any external JDBC client tools. 3. Check the **<SOLUTION_MANAGER_HOME>/logs/solution-manager/solution-manager.log** file for more information on the logs. For more information, you could refer to the **[JDBC Logging Configuration]( https://community.denodo.com/docs/html/browse/8.0/en/solution_manager/administration/monitoring/monitoring#jdbc-logging-configuration )** section of the Solution Manager Administration Guide. If you need further assistance and if you are a valid support user, you could create a support case in **[Denodo Support Site]( https://support.denodo.com )** so that our support team will assist you. Hope this helps!
Denodo Team
02-05-2022 10:04:19 -0400
code
You must sign in to add an answer. If you do not have an account, you can register here