Welcome to Knowage Q&A, where you can ask questions and receive answers from other members of the community.
0 votes
1 view

I have this simple report developed in OpenText Analytics Designer (previously Birt), with ms sql jdbc datasource, (select-all-from-a-table) dataset and a report table with all the data. The report works in web preview in designer. Connection with DB and data extraction is ok.

After I've deployed it to Knowege I've got the following error:

SEVERE: Unable to open connection.

org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, Login failed for user 'ucitest'. ClientConnectionId:311e6951-b767-4ae3-bbf9-13d86686ad06.

at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.doConnect(JDBCDriverManager.java:339)

at org.eclipse.birt.report.data.oda.jdbc.JDBCDriverManager.getConnection(JDBCDriverManager.java:236)

at org.eclipse.birt.report.data.oda.jdbc.Connection.connectByUrl(Connection.java:252)

at org.eclipse.birt.report.data.oda.jdbc.Connection.open(Connection.java:162)

at org.eclipse.datatools.connectivity.oda.consumer.helper.OdaConnection.open(OdaConnection.java:250)

at org.eclipse.birt.data.engine.odaconsumer.ConnectionManager.openConnection(ConnectionManager.java:165)

at org.eclipse.birt.data.engine.executor.DataSource.newConnection(DataSource.java:224)

at org.eclipse.birt.data.engine.executor.DataSource.open(DataSource.java:212)

at org.eclipse.birt.data.engine.impl.DataSourceRuntime.openOdiDataSource(DataSourceRuntime.java:217)

at org.eclipse.birt.data.engine.impl.QueryExecutor.openDataSource(QueryExecutor.java:434)

at org.eclipse.birt.data.engine.impl.QueryExecutor.prepareExecution(QueryExecutor.java:322)

at org.eclipse.birt.data.engine.impl.PreparedQuery.doPrepare(PreparedQuery.java:463)

at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.produceQueryResults(PreparedDataSourceQuery.java:190)

at org.eclipse.birt.data.engine.impl.PreparedDataSourceQuery.execute(PreparedDataSourceQuery.java:178)

at org.eclipse.birt.data.engine.impl.PreparedOdaDSQuery.execute(PreparedOdaDSQuery.java:178)

at org.eclipse.birt.report.data.adapter.impl.DataRequestSessionImpl.execute(DataRequestSessionImpl.java:637)

at org.eclipse.birt.report.engine.data.dte.DteDataEngine.doExecuteQuery(DteDataEngine.java:152)

at org.eclipse.birt.report.engine.data.dte.AbstractDataEngine.execute(AbstractDataEngine.java:275)

at org.eclipse.birt.report.engine.executor.ExecutionContext.executeQuery(ExecutionContext.java:1947)

at org.eclipse.birt.report.engine.executor.QueryItemExecutor.executeQuery(QueryItemExecutor.java:80)

at org.eclipse.birt.report.engine.executor.TableItemExecutor.execute(TableItemExecutor.java:62)

at org.eclipse.birt.report.engine.internal.executor.dup.SuppressDuplicateItemExecutor.execute(SuppressDuplicateItemExecutor.java:43)

at org.eclipse.birt.report.engine.internal.executor.wrap.WrappedReportItemExecutor.execute(WrappedReportItemExecutor.java:46)

at org.eclipse.birt.report.engine.internal.executor.l18n.LocalizedReportItemExecutor.execute(LocalizedReportItemExecutor.java:34)

at org.eclipse.birt.report.engine.layout.html.HTMLBlockStackingLM.layoutNodes(HTMLBlockStackingLM.java:65)

at org.eclipse.birt.report.engine.layout.html.HTMLPageLM.layout(HTMLPageLM.java:92)

at org.eclipse.birt.report.engine.layout.html.HTMLReportLayoutEngine.layout(HTMLReportLayoutEngine.java:100)

at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.doRun(RunAndRenderTask.java:181)

at org.eclipse.birt.report.engine.api.impl.RunAndRenderTask.run(RunAndRenderTask.java:77)

at it.eng.spagobi.engines.birt.BirtReportServlet.runReport(BirtReportServlet.java:762)

at it.eng.spagobi.engines.birt.BirtReportServlet.service(BirtReportServlet.java:178)

at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at it.eng.spagobi.utilities.filters.SpagoBIAccessFilter.doFilter(SpagoBIAccessFilter.java:189)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at it.eng.spagobi.utilities.filters.EncodingFilter.doFilter(EncodingFilter.java:54)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:409)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1044)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:607)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:315)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:748)
the things I've done:
put mssql-jdbc-6.4.0.jre8.jar in %knowage%\lib folder
defined datasets in %knowage%\conf\server.xml
defined resource links in context for all webapps and knowage webapp
created datasource and dataset in knowage (working fine, there's data after clicking "preview" too)
my environment:
windows server 2016
java version "1.8.0_161"
knowage-ce version=6.2.0-RC
windows sql server 2016
OpenText Analytics Designer - Version: 4.6.0
can you give me some tip how to debug the connection/birt report
Environment windows server 2016; java version 1.8.0_161; knowage-ce 6.2.0-RC; windows sql server 2016
in Data Source by (270 points)
OK, after few hours I found solution.

I guess the problem lies in sql server configuration (or port config). I changed url in resource in server.xml from ip (like 147.0...) to "localhost" and now birt report works.

Still I also have postgresql server on this machine and my reports work despite the resource url defined as actual local server ip.

1 Answer

0 votes

The error is here:

org.eclipse.birt.report.data.oda.jdbc.JDBCException: There is an error in get connection, Login failed for user 'ucitest'. ClientConnectionId:311e6951-b767-4ae3-bbf9-13d86686ad06.

After a quick search I see that is related to some configuration of your SQL Server. Could be that the machine that hosts the Knowage Server cannot be authenticated on the SQL Server? Please have a look here: https://support.microsoft.com/en-gb/help/555332/login-failed-for-user-error-message-when-you-log-on-to-sql-server

Regards,
Marco 

by (11.6k points)
...