Starting with Spotfire 10.10, the SAP/Sybase jConnect JDBC driver needs to be placed in a different directory than the generally recommended one (<installation directory>/tomcat/custom-ext)

Starting with Spotfire 10.10, the SAP/Sybase jConnect JDBC driver needs to be placed in a different directory than the generally recommended one (<installation directory>/tomcat/custom-ext)

book

Article ID: KB0075050

calendar_today

Updated On:

Products Versions
Spotfire Server 10.10 and higher

Description

Starting with Spotfire 10.10, with the switch there to using a new Java  version (Java 11), there will be a conflict with Oracle JDBC drivers if you try to connect to Oracle with Information Services and also have the SAP/Sybase jConnect JDBC driver in directory <installation directory>/tomcat/custom-ext>.

This issue appears either when trying to expand a table under already existing Oracle data sources or when trying to add a new Oracle data source in Information Designer.
You'll see an error like the following (with "Ora" being the name of the data source):

Error message: Ora could not be saved.


InformationModelException at Spotfire.Dxp.Forms:
Could not initialize class oracle.jdbc.OracleDriver (HRESULT: 80131500)

Stack Trace:
   at Spotfire.Dxp.Forms.Data.InformationDesigner.NodeDesignerPanelControlBase.<>c__DisplayClass41_0.<SaveAs>b__0()
   at Spotfire.Dxp.Forms.Data.InformationDesigner.DesignerForm.SaveSafely(Executor saveExecutor, CachedModelElement elementToSave, Control parentControl)


InformationModelServiceException at Spotfire.Dxp.Services:
Could not initialize class oracle.jdbc.OracleDriver (HRESULT: 80131509)

Stack Trace:
   at Spotfire.Dxp.Services.WebServiceBase`1.InvokeService[T](ServiceMethod`1 serviceMethod, ExceptionFactoryMethod exceptionFactoryMethod, String customMethodNameForLogging)
   at Spotfire.Dxp.Services.Data.InformationModel.ElementManagerService.InvokeService[T](ServiceMethod`1 serviceMethod)
   at Spotfire.Dxp.Data.InformationModel.InternalInformationModelManager.AddElement(InformationModelElement element, Boolean ignoreWarnings)


SoapHeaderException at System.Web.Services:
Could not initialize class oracle.jdbc.OracleDriver (HRESULT: 80131501)

Stack Trace:
   at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at Spotfire.Dxp.WebServices.ElementManagerService.addElement(IMElement element, Boolean ignoreWarnings)
   at Spotfire.Dxp.Services.WebServiceBase`1.InvokeService[T](ServiceMethod`1 serviceMethod, ExceptionFactoryMethod exceptionFactoryMethod, String customMethodNameForLogging)

The conflict happens because of a known issue in the jConnect driver, see SAP Note 2827462.

Environment

All

Resolution


Place the SAP/Sybase jConnect JDBC driver in a different directory than the generally recommended <installation directory>/tomcat/custom-ext>, for example you can place it in <installation directory>/tomcat/lib>.

Issue/Introduction

Starting with Spotfire 10.10, the SAP/Sybase jConnect JDBC driver needs to be placed in a different directory than the generally recommended one (/tomcat/custom-ext), for example in /tomcat/lib. This is because the change to Java 11 and a conflict with Oracle JDBC drivers that occurs if you try to connect to Oracle with Information Services. The conflict happens because of a known issue in the jConnect driver, see SAP Note 2827462.

Additional Information

Keywords: Spotfire 10.10, Oracle, JDBC; jConnect, SAP, Sybase, "Could not initialize class oracle.jdbc.OracleDriver (HRESULT: 80131500)"