You are not logged in.
Dear users of this forum,
we are pleased to inform you that we will be updating the software behind this forum in the near future.
Existing posts, users and categories will remain untouched.
Important:
We will keep you informed in the pinned thread.
Kind regards,
Your ReportServer Team
Liebe Nutzer dieses Forums,
wir freuen uns, euch mitteilen zu können, dass wir in naher Zukunft die Software hinter diesem Forum aktualisieren werden.
Existierende Beiträge, Nutzer und Kategorien bleiben weiterhin bestehen!
Wichtig:
Wir halten euch im angepinnten Beitrag auf dem Laufenden!
Mit vielen Grüßen
Euer ReportServer Team
Pages: 1
Guten Tag zusammen,
wir haben eine PostgreSQL-Datenbank, auf die wir mittels ReportServer zugreifen.
Die Datenbank enthält teilweise JSON-Strings als Inhalte, die wir gern mithilfe der entsprechenden spezifischen PostgreSQL-JSON-Funktionen (https://www.postgresql.org/docs/9.5/sta … -json.html) abfragen würden. Bei einem direkten Zugriff via JDBC-Treiber funktioniert das problems, in ReportServer erhält man allerdings eine Exception. Ist diese Art von Abfragesyntax nicht möglich?
Die Syntax sähe dann beispielsweise so aus:
select mr.creation_date, medication,
prescriptions->>'name' as name,
prescriptions->>'quantities' as quantities
from module_report mr, jsonb_array_elements(mr.medication::jsonb#>'{prescriptions}') prescriptions
order by mr.medication descBeste Grüße
Philipp
Offline
Hallo Philipp,
welche ReportServer Version genau verwendest du (rsversion.properties) ?
Viele Grüße
Eduardo
Offline
Hallo Eduardo,
wir nutzen die folgende Version:
Enterprise Edition
RS3.0.3-6002
2017-12-09-12-26-19
Folgende Exception erhalten wir:
net.datenwerke.gxtdto.client.servercommunication.exceptions.ServerCallFailedException: Query could not be executed: ERROR: invalid input syntax for type json<br> Detail: The input string ended unexpectedly.<br> Wobei: JSON data, line 1: <br> at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.loadData(TableReportUtilityServiceImpl.java:330)<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.GeneratedMethodAccessor778.invoke(Unknown Source)<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> 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: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: Query could not be executed: ERROR: invalid input syntax for type json<br> Detail: The input string ended unexpectedly.<br> Wobei: JSON data, line 1: <br> at net.datenwerke.rs.base.service.datasources.table.impl.TableDBDataSource.open(TableDBDataSource.java:325)<br> at net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getData(SimpleDataSupplier.java:430)<br> at net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getData(SimpleDataSupplier.java:422)<br> at net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getData(SimpleDataSupplier.java:154)<br> at net.datenwerke.rs.base.service.reportengines.table.SimpleDataSupplier.getData(SimpleDataSupplier.java:124)<br> at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.loadData(TableReportUtilityServiceImpl.java:321)<br> ... 49 more<br>Caused by: org.postgresql.util.PSQLException: ERROR: invalid input syntax for type json<br> Detail: The input string ended unexpectedly.<br> Wobei: JSON data, line 1: <br> at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:2284)<br> at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:2003)<br> at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:200)<br> at org.postgresql.jdbc.PgStatement.execute(PgStatement.java:424)<br> at org.postgresql.jdbc.PgPreparedStatement.executeWithFlags(PgPreparedStatement.java:161)<br> at org.postgresql.jdbc.PgPreparedStatement.executeQuery(PgPreparedStatement.java:114)<br> at com.mchange.v2.c3p0.impl.NewProxyPreparedStatement.executeQuery(NewProxyPreparedStatement.java:1418)<br> at net.datenwerke.rs.base.service.datasources.table.impl.TableDBDataSource.open(TableDBDataSource.java:304)<br> ... 54 more<br>Offline
Hallo Philipp,
danke für die Infos.
Kannst du mir bitte noch die Tabellendefinition (DDL) deiner Tabelle und einen Datensatz dieser Tabelle schicken ? Es scheint etwas mit einem Zeichen nähe "wobei" zu tun: "<br> Wobei: JSON data, line 1:"
Erstellst du eine dynamische Liste oder wie verwendest du die Query ?
Viele Grüße
Eduardo
Offline
Hallo Eduardo,
wir haben den Fehler gefunden, wir hatten die Query versehentlich in alter SQL-Manier mit einem Semikolon abgeschlossen, ohne ließ sie sich korrekt abschicken.
Danke für die Hilfe.
Philipp
Offline
Pages: 1