#1 2022-10-25 13:57:18

Enrique
Member
Registered: 2020-12-04

CSV Datasource

Hello Guys,


I'm pretty new in Report Server can you help me to point me in the right direction.


¿Is possible have a CSV file as datasource and also this file be changed with the exact filename same columns and different values?

if this is possible can you help me to get this done I have install already report server in my own pc

this is the version that I'm using RS4.3.0-6079 (2022-10-19-13-16-45)

Also as additional note I haven't install anything besides report server, no Mysql installed in my computer

This is the datasource config
repor server screenshot

and this is the file CSV into filesystem
report server screenshot2
finally the error when I execute this SQL "select * from TEST"

Error
The report could not be executed: Could not open connection to: http://127.0.0.1/reportserver/reportser … s?id=14099 with user: admin. java.sql.SQLException: No suitable driver

Display Error Details.
net.datenwerke.gxtdto.client.servercommunication.exceptions.NonFatalException: The report could not be executed: Could not open connection to: http://127.0.0.1/reportserver/reportser … s?id=14099 with user: admin. java.sql.SQLException: No suitable driver
<br>    at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.getReturnedColumns(TableReportUtilityServiceImpl.java:295)
<br>    at com.google.inject.persist.jpa.JpaLocalTxnInterceptor.invoke(JpaLocalTxnInterceptor.java:64)
<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
<br>    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<br>    at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
<br>    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
<br>    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
<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:112)
<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:112)
<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:681)
<br>    at javax.servlet.http.HttpServlet.service(HttpServlet.java:764)
<br>    at net.datenwerke.security.service.security.aop.SecurityCheckInterceptor.invoke(SecurityCheckInterceptor.java:112)
<br>    at net.datenwerke.gf.service.gwtstacktrace.CatchStacktraceInterceptor.invoke(CatchStacktraceInterceptor.java:38)
<br>    at com.google.inject.servlet.ServletDefinition.doServiceImpl(ServletDefinition.java:290)
<br>    at com.google.inject.servlet.ServletDefinition.doService(ServletDefinition.java:280)
<br>    at com.google.inject.servlet.ServletDefinition.service(ServletDefinition.java:184)
<br>    at com.google.inject.servlet.ManagedServletPipeline.service(ManagedServletPipeline.java:89)
<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:85)
<br>    at com.google.inject.persist.PersistFilter.doFilter(PersistFilter.java:94)
<br>    at com.google.inject.servlet.FilterChainInvocation.doFilter(FilterChainInvocation.java:82)
<br>    at com.google.inject.servlet.ManagedFilterPipeline.dispatch(ManagedFilterPipeline.java:121)
<br>    at com.google.inject.servlet.GuiceFilter.doFilter(GuiceFilter.java:133)
<br>    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:189)
<br>    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:162)
<br>    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:197)
<br>    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:97)
<br>    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:541)
<br>    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:135)
<br>    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
<br>    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:687)
<br>    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:78)
<br>    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:360)
<br>    at org.apache.coyote.ajp.AjpProcessor.service(AjpProcessor.java:433)
<br>    at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:65)
<br>    at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:890)
<br>    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1789)
<br>    at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
<br>    at org.apache.tomcat.util.threads.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1191)
<br>    at org.apache.tomcat.util.threads.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:659)
<br>    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
<br>    at java.base/java.lang.Thread.run(Thread.java:829)
<br>Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.ReportExecutorException: The report could not be executed: Could not open connection to: http://127.0.0.1/reportserver/reportser … s?id=14099 with user: admin. java.sql.SQLException: No suitable driver
<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:269)
<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:154)
<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:144)
<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:138)
<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportUtilsImpl.getReturnedColumns(TableReportUtilsImpl.java:194)
<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportUtilsImpl.getReturnedPlainColumns(TableReportUtilsImpl.java:148)
<br>    at net.datenwerke.rs.base.server.table.TableReportUtilityServiceImpl.getReturnedColumns(TableReportUtilityServiceImpl.java:291)
<br>    ... 48 more
<br>Caused by: net.datenwerke.rs.core.service.reportmanager.exceptions.DatabaseConnectionException: Could not open connection to: http://127.0.0.1/reportserver/reportser … s?id=14099 with user: admin. java.sql.SQLException: No suitable driver
<br>    at net.datenwerke.rs.base.service.datasources.transformers.database.Database2TableTransformer.transform(Database2TableTransformer.java:54)
<br>    at net.datenwerke.rs.base.service.datasources.transformers.database.Database2TableTransformer.transform(Database2TableTransformer.java:1)
<br>    at net.datenwerke.rs.base.service.datasources.transformers.DatasourceTransformationServiceImpl.transform(DatasourceTransformationServiceImpl.java:28)
<br>    at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.transformDatasource(ReportEngine.java:227)
<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportEngine.doExecuteNormal(TableReportEngine.java:179)
<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportEngine.doExecuteNormal(TableReportEngine.java:155)
<br>    at net.datenwerke.rs.base.service.reportengines.table.TableReportEngine.doExecute(TableReportEngine.java:86)
<br>    at net.datenwerke.rs.core.service.reportmanager.engine.ReportEngine.execute(ReportEngine.java:144)
<br>    at net.datenwerke.rs.core.service.reportmanager.ReportExecutorServiceImpl.execute(ReportExecutorServiceImpl.java:239)
<br>    ... 54 more
<br>Caused by: java.lang.RuntimeException: java.sql.SQLException: No suitable driver
<br>    at net.datenwerke.dbpool.DbC3p0PoolServiceImpl$1.get(DbC3p0PoolServiceImpl.java:188)
<br>    at net.datenwerke.dbpool.DbC3p0PoolServiceImpl$1.get(DbC3p0PoolServiceImpl.java:1)
<br>    at net.datenwerke.rs.base.service.datasources.transformers.database.Database2TableTransformer.transform(Database2TableTransformer.java:50)
<br>    ... 62 more
<br>Caused by: java.sql.SQLException: No suitable driver
<br>    at java.sql/java.sql.DriverManager.getDriver(DriverManager.java:298)
<br>    at com.mchange.v2.c3p0.DriverManagerDataSource.driver(DriverManagerDataSource.java:285)
<br>    at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:175)
<br>    at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:220)
<br>    at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPool$1PooledConnectionResourcePoolManager.acquireResource(C3P0PooledConnectionPool.java:214)
<br>    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquire(BasicResourcePool.java:1176)
<br>    at com.mchange.v2.resourcepool.BasicResourcePool.doAcquireAndDecrementPendingAcquiresWithinLockOnSuccess(BasicResourcePool.java:1163)
<br>    at com.mchange.v2.resourcepool.BasicResourcePool.access$700(BasicResourcePool.java:44)
<br>    at com.mchange.v2.resourcepool.BasicResourcePool$ScatteredAcquireTask.run(BasicResourcePool.java:1908)
<br>    at com.mchange.v2.async.ThreadPoolAsynchronousRunner$PoolThread.run(ThreadPoolAsynchronousRunner.java:696)
<br>

Last edited by Enrique (2022-10-25 13:59:11)

Offline

#2 2022-10-26 16:30:16

eduardo
Administrator
Registered: 2016-11-01
Website

Re: CSV Datasource

Hi Enrique,

in the datasource definition creation you selected "relational datasource", which is not correct in this case. The correct type is "csv list":

Bildschirm-foto-2022-10-26-um-17-42-02.png

Pls note you have to check the "share folder for web access" option for this to work:
Bildschirm-foto-2022-10-26-um-18-23-21.png

Also check the "database cache" setting in order for you to get the correct fresh data (and not cached data): https://reportserver.net/en/guides/admi … tasources/

You can use the integrated SFTP Server for easily uploading/replacing your CSV file in the internal filesystem:
https://reportserver.net/en/guides/admi … TP-Server/
https://reportserver.net/en/guides/conf … roperties/

Regards,
Eduardo

Offline

Board footer

Powered by FluxBB