This is a read-only copy of the MariaDB Knowledgebase generated on 2024-11-16. For the latest, interactive version please visit https://mariadb.com/kb/.

JDBC driver configuration error

I am attempting to connect to MariaDB from a command line Java program. I am getting the "no suitable driver found" error. I am using the mariaDB Type 4 JDBC driver, the JDK 1.8, Windows 10. I have added the maria driver to the lib directory of the JRE, and added this directory to the PATH and CLASSPATH environment variables.

I can connect to the mariaDB database using DBVisualizer, when I manually point the configuration of DBVisualizer to the maria driver, so I know that the driver works fine.

Here is the Java code:

Connection con = DriverManager.getConnection("jdbc:mariadb:localhost:3306/DB?user=root&password=myPassword");

and the error

C:\Users\Documents\VTK\Dev>java -cp . VTK3 java.sql.SQLException: No suitable driver found for jdbc:mariadb:localhost:3306/DB?user=root&password=myPassword at java.sql.DriverManager.getConnection(Unknown Source) at java.sql.DriverManager.getConnection(Unknown Source) at VTK3.main(VTK3.java:38)

Thanks

Answer Answered by Diego Dupin in this comment.

Hi,

This is a classpath issue :

Example with a small java file :

import java.sql.Connection;
import java.sql.DriverManager;

public class Test {
    public static void main(String[] args) {
        System.out.println("init");
        try {
            try (Connection con = DriverManager.getConnection("jdbc:mariadb://localhost:3306/testj?user=diego2&password=diego")){
                System.out.println("connected");
            }
        } catch (Exception e){
            e.printStackTrace();
        }
    }
}

On windows (on unix just replace the ";" with ":" on classpath)

c:\temp>"C:\Program Files\Java\jdk1.8.0_60\bin\java.exe" -cp "." Test
init
java.sql.SQLException: No suitable driver found for jdbc:mariadb://localhost:3306/testj?user=diego2&password=diego
        at java.sql.DriverManager.getConnection(DriverManager.java:689)
        at java.sql.DriverManager.getConnection(DriverManager.java:270)
        at Test.main(Test.java:8)

c:\temp>"C:\Program Files\Java\jdk1.8.0_60\bin\java.exe" -cp "./mariadb-java-client-1.4.4.jar;." Test
init
connected
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.