DataGrip
 
Get DataGrip

Driver is incompatible with the current JVM version or processor architecture

Last modified: 26 November 2024

DataGrip and a JDBC driver interact with each other in separate processes: the IDE runs in one process, the driver in another. Two separate processes secure the stability of the IDE work. Otherwise, a memory leak or an error that leads to a failure in the JDBC driver will also influence the IDE. In our case, a failure in the JDBC driver will happen only in its process and will not affect the IDE process.

Both processes use a Java Virtual Machine (JVM) to work. In DataGrip, you can separate and use different JVM versions for the driver's process and for the process of the IDE. Consider the following situations.

  • The java.xml.bind module was removed from JDK 11. But some drivers depend on this module. To fix the issue, you can run the driver's process with JVM 8 that includes the missing module.

  • A driver might have native libraries only for the x86 architecture and no libraries for x64. In this situation, you can fix the issue by setting JVM x86 for the driver's process.

  • Some drivers miss native libraries for aarch64 and thus do not work on the aarch64 architecture. As a workaround, you can set JVM for a different processor architecture (for example, x64). In this case, the native library for x64 will be used (if it exists in the driver).