Virtual Datasource Error - SQLException: Invalid argument(s) in call

Hello,

 

I created a Virtual Datasource to combine two separate datasources. Both datasources are created as JDBC oracle type (and the "Test Connection" is passed for both).

The sql query executes a select statement from one DB table.

When running the jasper report I get following error in jasperserver.log :

2020-10-20 10:24:21,688 ERROR ErrorPageHandlerAction,default task-704:115 - Error UID 9a3055d9-556a-4b9c-a11a-89ef55d03116
com.jaspersoft.jasperserver.api.JSException: jsexception.error.creating.connection
Arguments:
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.JdbcDataSourceService.createConnection(JdbcDataSourceService.java:61)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.BaseJdbcDataSource.setReportParameterValues(BaseJdbcDataSource.java:46)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.JdbcDataSourceService.setReportParameterValues(JdbcDataSourceService.java:66)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl.fillReport(EngineServiceImpl.java:1823)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runWithDataSource(EngineServiceImpl.java:1159)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportFill.runReport(EngineServiceImpl.java:1088)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.EngineServiceImpl$ReportRunnable.run(EngineServiceImpl.java:983)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
Caused by: com.jaspersoft.jasperserver.api.common.virtualdatasourcequery.VirtualDataSourceException: TEIID11010 java.sql.SQLException: Invalid argument(s) in call
        at com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.impl.TeiidVirtualDataSourceQueryServiceImpl.deployVirtualDataSource(TeiidVirtualDataSourceQueryServiceImpl.java:345)
        at com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.impl.TeiidConnectionFactoryImpl.createConnection(TeiidConnectionFactoryImpl.java:74)
        at com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.VirtualSQLDataSource.getConnection(VirtualSQLDataSource.java:64)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.TibcoDriverManagerImpl.unlockConnection(TibcoDriverManagerImpl.java:56)
        at com.jaspersoft.jasperserver.api.engine.jasperreports.service.impl.JdbcDataSourceService.createConnection(JdbcDataSourceService.java:53)
        ... 9 more
Caused by: org.teiid.translator.TranslatorException: TEIID11010 java.sql.SQLException: Invalid argument(s) in call
        at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:308)
        at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:69)
        at org.teiid.query.metadata.NativeMetadataRepository.getMetadata(NativeMetadataRepository.java:96)
        at org.teiid.query.metadata.NativeMetadataRepository.loadMetadata(NativeMetadataRepository.java:62)
        at org.teiid.query.metadata.ChainingMetadataRepository.loadMetadata(ChainingMetadataRepository.java:55)
        at org.teiid.runtime.EmbeddedServer.loadMetadata(EmbeddedServer.java:811)
        at org.teiid.runtime.AbstractVDBDeployer.loadMetadata(AbstractVDBDeployer.java:210)
        at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:761)
        at org.teiid.runtime.EmbeddedServer.deployVDB(EmbeddedServer.java:673)
        at com.jaspersoft.jasperserver.api.engine.common.virtualdatasourcequery.impl.TeiidVirtualDataSourceQueryServiceImpl.deployVirtualDataSource(TeiidVirtualDataSourceQueryServiceImpl.java:328)
        ... 13 more
Caused by: java.sql.SQLException: Invalid argument(s) in call
        at oracle.jdbc.OracleDatabaseMetaData.getIndexInfo(OracleDatabaseMetaData.java:4105)
        at org.apache.commons.dbcp.DelegatingDatabaseMetaData.getIndexInfo(DelegatingDatabaseMetaData.java:327)
        at org.teiid.translator.jdbc.JDBCMetdataProcessor.getIndexes(JDBCMetdataProcessor.java:671)
        at org.teiid.translator.jdbc.JDBCMetdataProcessor.getConnectorMetadata(JDBCMetdataProcessor.java:177)
        at org.teiid.translator.jdbc.JDBCExecutionFactory.getMetadata(JDBCExecutionFactory.java:306)
        ... 22 more

 

Can someone please help me with this error cause ?

simos's picture
2
Joined: Oct 20 2020 - 5:28am
Last seen: 1 year 8 months ago

2 Answers:

The Oracle native driver versus the TIBCO Oracle driver can behave differently when it comes to VDS and importing the schema. When using Oracle native driver, synonyms don't work in system schema but for TIBCO driver, system schema is not displayed. It is worth switching to the TIBCO driver to see if you are getting a different error message or none at all. 

When using the TIBCO oracle jdbc driver,append "CatalogOptions=0" to the URL connection string.

For example: jdbc:tibcosoftware:oracle://172.17.17.178:1521;SID=ORCL;CatalogOptions=0

vchiem's picture
31388
Joined: May 1 2017 - 5:33pm
Last seen: 2 hours 58 min ago

Hi vchiem,

Thanks ! Using TIBCO Oracle driver solved the error.

I have created a report with a sql query, and configured the report DataSource to be the virtual DS created.

But when running the report I get another error : "org.teiid.api.exception.query.QueryResolverException: Group does not exist: HDM_DS_Tibco.DEVICE"

I'm not sure how to put the alias in order for the query to work. I tried schema name, Datasource name, but nothing works.

Any recommandations for me ?

 

Thanks.

simo_o_2000's picture
Joined: Jul 15 2020 - 5:38am
Last seen: 1 year 7 months ago
Feedback
randomness