You are not logged in.
Pages: 1
Hi,
When trying to have more Parameters I found a limit in the length of the Query wrapper, to approximately 256 chars, Is there any way to break this limit and have a longer query?
Thanks!
Rom
Offline
Hi Rom,
how did you find this limit? Do you get an error if the query is longer than 256 characters? If yes -> could you please send the complete error?
Regards,
Eduardo
Offline
Hi Eduardo,
Yes there is an error window.
I reach the limit doing some precalculations (more than one), but as you can see below the comments also counts...
Thanks in advance for your support.
Rom
/* Hi, this is a really long query just to test de max length
123456778901234567789012345677890123456778901234567789012345677890
123456778901234567789012345677890123456778901234567789012345677890
123456778901234567789012345677890123456778901234567789012345677890
1234567789012345677890*/
SELECT *, DAYOFWEEK(Createdat) DOW FROM ($!{TMP_TABLENAME})
net.datenwerke.gxtdto.client.servercommunication.exceptions.ServerCallFailedException: Error while committing the transaction<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.mapException(CatchStacktraceInterceptor.java:74)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:47)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479.updateNode(<generated>)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br> at java.lang.reflect.Method.invoke(Method.java:498)<br> at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479.CGLIB$processCall$30(<generated>)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479$$FastClassByGuice$$b4de0380.invoke(<generated>)<br> at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479.processCall(<generated>)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479.CGLIB$processCall$29(<generated>)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479$$FastClassByGuice$$b4de0380.invoke(<generated>)<br> at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479.processCall(<generated>)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)<br> at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)<br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)<br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479.CGLIB$service$51(<generated>)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479$$FastClassByGuice$$b4de0380.invoke(<generated>)<br> at com.google.inject.internal.cglib.proxy.$MethodProxy.invokeSuper(MethodProxy.java:228)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.inject.internal.InterceptorStackCallback$InterceptedMethodInvocation.proceed(InterceptorStackCallback.java:72)<br> at com.google.inject.internal.InterceptorStackCallback.intercept(InterceptorStackCallback.java:52)<br> at net.datenwerke.rs.core.server.reportmanager.ReportManagerTreeHandlerImpl$$EnhancerByGuice$$6b970479.service(<generated>)<br> at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:263)<br> at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:178)<br> at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:91)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:62)<br> at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:89)<br> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:163)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br> at com.google.inject.servlet.FilterDefinition.doFilter(FilterDefinition.java:168)<br> at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:58)<br> at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:118)<br> at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:113)<br> at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240)<br> at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207)<br> at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212)<br> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:94)<br> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:504)<br> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141)<br> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)<br> at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:620)<br> at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)<br> at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:502)<br> at org.apache.coyote.ajp.AbstractAjpProcessor.process(AbstractAjpProcessor.java:877)<br> at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:684)<br> at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2527)<br> at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2516)<br> at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)<br> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)<br> at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)<br> at java.lang.Thread.run(Thread.java:748)<br>Caused by: javax.persistence.RollbackException: Error while committing the transaction<br> at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:86)<br> at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:87)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<br> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)<br> at java.lang.reflect.Method.invoke(Method.java:498)<br> at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:587)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:333)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:303)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> at com.google.gwt.user.server.rpc.RemoteServiceServlet.processPost(RemoteServiceServlet.java:373)<br> at com.google.gwt.user.server.rpc.AbstractRemoteServiceServlet.doPost(AbstractRemoteServiceServlet.java:62)<br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:648)<br> at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)<br> at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:109)<br> at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)<br> ... 31 more<br>Caused by: javax.persistence.PersistenceException: org.hibernate.exception.DataException: could not execute statement<br> at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1692)<br> at org.hibernate.jpa.spi.AbstractEntityManagerImpl.convert(AbstractEntityManagerImpl.java:1602)<br> at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:67)<br> ... 51 more<br>Caused by: org.hibernate.exception.DataException: could not execute statement<br> at org.hibernate.exception.internal.SQLExceptionTypeDelegate.convert(SQLExceptionTypeDelegate.java:52)<br> at org.hibernate.exception.internal.StandardSQLExceptionConverter.convert(StandardSQLExceptionConverter.java:42)<br> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:109)<br> at org.hibernate.engine.jdbc.spi.SqlExceptionHelper.convert(SqlExceptionHelper.java:95)<br> at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:207)<br> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2890)<br> at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:3384)<br> at org.hibernate.action.internal.EntityInsertAction.execute(EntityInsertAction.java:89)<br> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:451)<br> at org.hibernate.engine.spi.ActionQueue.executeActions(ActionQueue.java:336)<br> at org.hibernate.event.internal.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:335)<br> at org.hibernate.event.internal.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:39)<br> at org.hibernate.internal.SessionImpl.flush(SessionImpl.java:1224)<br> at org.hibernate.internal.SessionImpl.managedFlush(SessionImpl.java:464)<br> at org.hibernate.internal.SessionImpl.flushBeforeTransactionCompletion(SessionImpl.java:2905)<br> at org.hibernate.internal.SessionImpl.beforeTransactionCompletion(SessionImpl.java:2281)<br> at org.hibernate.engine.jdbc.internal.JdbcCoordinatorImpl.beforeTransactionCompletion(JdbcCoordinatorImpl.java:485)<br> at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.beforeCompletionCallback(JdbcResourceLocalTransactionCoordinatorImpl.java:146)<br> at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl.access$100(JdbcResourceLocalTransactionCoordinatorImpl.java:38)<br> at org.hibernate.resource.transaction.backend.jdbc.internal.JdbcResourceLocalTransactionCoordinatorImpl$TransactionDriverControlImpl.commit(JdbcResourceLocalTransactionCoordinatorImpl.java:230)<br> at org.hibernate.engine.transaction.internal.TransactionImpl.commit(TransactionImpl.java:65)<br> at org.hibernate.jpa.internal.TransactionImpl.commit(TransactionImpl.java:61)<br> ... 51 more<br>Caused by: com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column 'query_wrapper' at row 1<br> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3876)<br> at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)<br> at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2478)<br> at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2625)<br> at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2551)<br> at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1861)<br> at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2073)<br> at com.mysql.jdbc.PreparedStatement.executeUpdateInternal(PreparedStatement.java:2009)<br> at com.mysql.jdbc.PreparedStatement.executeLargeUpdate(PreparedStatement.java:5094)<br> at com.mysql.jdbc.PreparedStatement.executeUpdate(PreparedStatement.java:1994)<br> at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeUpdate(NewProxyPreparedStatement.java:1449)<br> at org.hibernate.engine.jdbc.internal.ResultSetReturnImpl.executeUpdate(ResultSetReturnImpl.java:204)<br> ... 68 more<br>
Offline
This seems to be a mysql error:
com.mysql.jdbc.MysqlDataTruncation: Data truncation: Data too long for column
I just tried with a much longer comment, and I am not getting any errors. Could you please post the query_wrapper complete sql query being produced ?
Which reportserver version are you using? Which mysql version?
Regards,
Eduardo
Offline
Eduardo,
I'm using 3.0.3 6002 from Bitnami.
/opt/bitnami/mysql/bin/mysql.bin Ver 15.1 Distrib 10.1.31-MariaDB, for Linux (x86_64) using readline 5.1
I can't understand "the query_wrapper complete sql query being produced"... sorry.
Rom
Offline
In the windows bitnami installer I am not able to reproduce.
I am installing in linux, maybe this is here different.
Regards,
Eduardo
Offline
Ok, my installation is on Mac, VirtualBox, Linux (Debian Bitnami)
Thanks!
Rom
Offline
Hi Rom,
for your information: we created ticket RS-2901 for investigating this issue.
Regards,
Eduardo
Offline
Ok Eduardo, thanks.
... but it looks like due to Linux implementation or Bitnami one?
Because my plan is to put it in a real Linux server, sure with handmade config...
That question is not urgent at this time and maybe the answer comes with the solution, so waiting for news.
Rom
Offline
Hi Rom,
you could try to install the latest bitnami on windows (for testing), this should work, and in manual installations I have also not seen this issue. Since a basic manual installation is very simple (install tomcat, drop reportserver to the webapps dir, and install the database with the sql scripts provided), you could test this manual installation (on linux?) easily. Please let us know if this works.
Regards,
Eduardo
Offline
OMG! Eduardo,
Same issue with the new clean manual installation... It seems clearly related to mysql over Linux...
What do you think about to switch to Postgres in the same box?
Cheers,
Rom
Offline
Hola Eduardo,
Just for your info maybe to add it to the ticket RS-2901.
In the same box, Bitnami 3.0.3-6002 for Linux I was able to make a JXLS with a sql.exec query longer than 256 chars, and it runs smoothly.
Cheers!
Rom
Offline
Hi Rom,
so within the same reportserver installation, you are able to make a JXLS with a long sql.exec, but not a dynamic list with a long sql statement ? Is this correct ?
Regards,
Eduardo
Offline
Yes Eduardo, is correct.
Un saludo,
Rom
Offline
Hi Rom,
this is fixed in the next reportserver version.
For now, you can manually fix it. Change the syntax to your db. This is for mysql:
ALTER TABLE RS_CSV_DATASOURCE_CONF MODIFY query_wrapper longtext;
ALTER TABLE RS_CSV_DATASOURCE_CONF_A MODIFY query_wrapper longtext;
ALTER TABLE RS_SCRIPT_DATASOURCE_CONFIG MODIFY query_wrapper longtext;
ALTER TABLE RS_SCRIPT_DATASOURCE_CONFIG_A MODIFY query_wrapper longtext;
ALTER TABLE RS_BIRT_REPORT_DATASRC_CFG MODIFY query_wrapper longtext;
ALTER TABLE RS_BIRT_REPORT_DATASRC_CFG_A MODIFY query_wrapper longtext;
for postgres:
ALTER TABLE RS_CSV_DATASOURCE_CONF ALTER COLUMN query_wrapper TYPE text;
ALTER TABLE RS_CSV_DATASOURCE_CONF_A ALTER COLUMN query_wrapper TYPE text;
ALTER TABLE RS_SCRIPT_DATASOURCE_CONFIG ALTER COLUMN query_wrapper TYPE text;
ALTER TABLE RS_SCRIPT_DATASOURCE_CONFIG_A ALTER COLUMN query_wrapper TYPE text;
ALTER TABLE RS_BIRT_REPORT_DATASRC_CFG ALTER COLUMN query_wrapper TYPE text;
ALTER TABLE RS_BIRT_REPORT_DATASRC_CFG_A ALTER COLUMN query_wrapper TYPE text;
Regards,
Eduardo
Offline
Hi Eduardo,
Thanks for the update!
Rom
Offline
Pages: 1