"Could not load JDBC driver class” Error in Oracle Data Integrator when working with an agent

  • 24 April 2024
  • 1 reply

Userlevel 1

In this article, we will walk through how to resolve an error received in Oracle Data Integrator (ODI) when trying to connect with our JDBC Drivers. Below is an example of the error, specifically the first line in the Exception Stack Trace. 

java.lang.RuntimeException: java.lang.IllegalArgumentException: Could not load JDBC driver class [cdata.jdbc.<Driver Name>] 


This error message indicates that the Driver is not accessible to ODI and therefore, ODI could not load it. The steps to resolve this error are as follows:

Place the JAR and LIC files of the JDBC Driver within ODI’s userlib directory if you’re working without the agent. The location of the userlib directory is dependent on OS.  

UNIX system: $HOME/.odi/oracledi/userlib 

Windows systems: %APPDATA%\odi\oracledi\userlib 

Please note that if we’re working with an oracle agent in ODI then we need to place the .jar and .lic files in both the locations which are as follows:

UNIX system: $HOME/.odi/oracledi/userlib. and $ODI_HOME/odi/agent/lib

Windows system: %APPDATA%\Roaming\odi\oracledi\userlib and %APPDATA%\Roaming\odi\agent\lib

By doing this, ODI will read the jar file successfully and we’ll not face this error. After following the above steps, please make sure to restart ODI. Restarting ODI is necessary for the changes to be implemented. 

After this, please follow our knowledge base article to configure our JDBC driver in ODI, the steps and functionality will be consistent with any data source in terms of adding the driver JAR and using it within ODI. 

ETL Azure Synapse in Oracle Data Integrator (

If you’re still running into any errors, please reach out to us at

1 reply

Userlevel 7

Hi @ekanshd,


Thank you for the information provided!


I acknowledge the importance of this information. Could we consider publishing it as a Knowledge Base article on our CData Community rather than a question? I believe it would be more beneficial as part of our Troubleshooting section within the Editions category. By creating a dedicated Knowledge Base article, we can provide more clarity and address any uncertainties our customers may have.