How to fix 'unsupported JNI version' error with JDBCODBC bridge adapter in Spotfire Data Virtualization?

How to fix 'unsupported JNI version' error with JDBCODBC bridge adapter in Spotfire Data Virtualization?

book

Article ID: KB0138474

calendar_today

Updated On:

Products Versions
TIBCO Data Virtualization All Supported Versions

Description

When performing operations such as creating a data source (test connection), reintrospection, or adding/removing a data source using the JDBCODBC bridge adapter in Spotfire Data Virtualization, the following error may appear:

===Caused by: java.sql.SQLException: unsupported JNI version 0xFFFFFFFF required by /tmp/libcdatajdbcodbc7646908553173629344.so===

This error indicates that the JDBCODBC bridge adapter is unable to load necessary components, typically due to missing underlying ODBC libraries on the Linux operating system.

Screenshot for reference:

image.png

Complete stack trace of the error:

ERROR [jetty thread pool-151] 2026-05-07 17:04:07.265 +0000 Util - User Exception Occurred
com.compositesw.common.UserException: Unable to create a connection for data source "/users/composite/admin/jdbcodbc".  [datasrc-3961000]
Cause: unsupported JNI version 0xFFFFFFFF required by /tmp/libcdatajdbcodbc10620761085064781126.so [Log ID: 6899d15f-137d-4bec-ab61-0aac3e785098]
	at com.compositesw.common.UserException$Builder.build(UserException.java:168) ~[cscommon.jar:?]
	at com.compositesw.cdms.webapi.service.Util.createWebapiException(Util.java:92) ~[cswebapi-server.jar:?]
	at com.compositesw.cdms.webapi.service.Util.createWebapiException(Util.java:78) ~[cswebapi-server.jar:?]
	at com.compositesw.cdms.webapi.service.WDataSourceImpl.testConnection(WDataSourceImpl.java:262) ~[cswebapi-server.jar:?]
	at com.compositesw.cdms.webapi.service.WMetaDataImpl.datasource_testConnection(WMetaDataImpl.java:453) ~[cswebapi-server.jar:?]
	at com.compositesw.cdms.webapi.service.WMetaDataSvc_Tie.invoke_datasource_testConnection(WMetaDataSvc_Tie.java:3702) ~[cswebapi.jar:?]
	at com.compositesw.cdms.webapi.service.WMetaDataSvc_Tie.processingHook(WMetaDataSvc_Tie.java:22054) ~[cswebapi.jar:?]
	at com.sun.xml.rpc.server.StreamingHandler.handle(StreamingHandler.java:350) ~[webservices-rt-2.1.jar:2.1]
	at com.sun.xml.rpc.server.http.JAXRPCServletDelegate.doPost(JAXRPCServletDelegate.java:465) ~[webservices-rt-2.1.jar:?]
	at com.sun.xml.rpc.server.http.JAXRPCServlet.doPost(JAXRPCServlet.java:119) ~[webservices-rt-2.1.jar:?]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) ~[javax.servlet-api-3.1.0.jar:3.1.0]
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) ~[javax.servlet-api-3.1.0.jar:3.1.0]
	at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:811) ~[jetty-all-9.2.30.v20200428.jar:9.2.30.v20200428]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1668) ~[jetty-all-9.2.30.v20200428.jar:9.2.30.v20200428]
	at com.compositesw.server.services.SameSiteCookieFilter.doFilter(SameSiteCookieFilter.java:43) ~[csserver.jar:?]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) ~[jetty-all-9.2.30.v20200428.jar:9.2.30.v20200428]
	at com.compositesw.server.services.Http10Filter.doFilter(Http10Filter.java:33) ~[csserver.jar:?]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) ~[jetty-all-9.2.30.v20200428.jar:9.2.30.v20200428]
	at com.compositesw.server.services.SecurityHeadersFilter.doFilter(SecurityHeadersFilter.java:105) ~[csserver.jar:?]
	at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1651) ~[jetty-all-9.2.30.v20200428.jar:9.2.30.v20200428]
	at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:584) ~[jetty-all-9.2.30.v20200428.jar:9.2.30.v20200428]
	at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:142) ~[jetty-all-9.2.30.v20200428.jar:9.2.30.v20200428]
.....
	at java.lang.Thread.run(Thread.java:1583) ~[?:?]
Caused by: com.compositesw.cdms.datasource.DataSourceException: Unable to create a connection for data source "/users/composite/admin/jdbcodbc".  [datasrc-3961000]
	at com.compositesw.cdms.datasource.ExtensionJdbcDataSource.validateConnection(ExtensionJdbcDataSource.java:535) ~[csmodule_datasource.jar:?]
	at com.compositesw.cdms.datasource.DefaultDataSourceManager.testConn(DefaultDataSourceManager.java:548) ~[csmodule_datasource.jar:?]
	at com.compositesw.cdms.datasource.DefaultDataSourceManager.testConnectivity(DefaultDataSourceManager.java:483) ~[csmodule_datasource.jar:?]
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
	at com.compositesw.common.services.ServiceResolver$1.invoke(ServiceResolver.java:21) ~[cscommon.jar:?]
	... 35 more
Caused by: java.sql.SQLException: unsupported JNI version 0xFFFFFFFF required by /tmp/libcdatajdbcodbc10620761085064781126.so
	at com.cdata.cis.jdbcodbc.JDBCODBCConnectionFactory.create(Unknown Source) ~[?:?]
	at com.compositesw.cdms.datasource.ExtensionJdbcDataSource.validateConnection(ExtensionJdbcDataSource.java:518) ~[csmodule_datasource.jar:?]
	at com.compositesw.cdms.datasource.DefaultDataSourceManager.testConn(DefaultDataSourceManager.java:548) ~[csmodule_datasource.jar:?]
	at com.compositesw.cdms.datasource.DefaultDataSourceManager.testConnectivity(DefaultDataSourceManager.java:483) ~[csmodule_datasource.jar:?]
	at jdk.internal.reflect.DirectMethodHandleAccessor.invoke(DirectMethodHandleAccessor.java:103) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:580) ~[?:?]
	at com.compositesw.common.services.ServiceResolver$1.invoke(ServiceResolver.java:21) ~[cscommon.jar:?]
	at jdk.proxy2.$Proxy24.testConnectivity(Unknown Source) ~[?:?]
	at com.compositesw.cdms.webapi.service.WDataSourceImpl.testConnection(WDataSourceImpl.java:259) ~[cswebapi-server.jar:?]
	... 35 more

Environment

Linux

Resolution

To resolve this issue on Linux, install the unixODBC and unixODBC-devel packages.

1.  Open a terminal on your Linux server.2.  Execute the following command:       sudo dnf install unixODBC unixODBC-devel3.  After installation, restart the Spotfire Data Virtualization service or container if necessary, then retry the data source operation.

Issue/Introduction

An 'unsupported JNI version' error occurs when using the JDBCODBC bridge adapter in Spotfire Data Virtualization due to missing ODBC libraries. Installing the required ODBC development packages on Linux resolves this issue.