2016-11-27 8 views
1

Ich arbeite an einem Twitch Chat Bot, der Nachrichten ausgeben sollte, wenn jemand einen Befehl eingibt. Die Befehle werden in einer MariaDB-Datenbank namens TB gespeichert. Das erste Problem, das ich habe, ist, dass ich mich nicht mit der Datenbank verbinden kann. Ich sah viele Stackoverflow-Posts, aber keiner von ihnen konnte mir helfen. Ich habe noch nie zuvor eine Datenbank mit einem Java-Programm verbunden.Verbindung zu MariaDB Datenbank kann nicht hergestellt werden [JAVA]

Meine Datenbank verbinden Methode:

public void DBConnect(){ 

     try { 

      String url = "jdbc:mariadb://localhost:3306/TB"; 
      String user = "root"; 
      String password = ""; 

      Connection con = DriverManager.getConnection(url, user, password); 

      if (con != null) { 
       System.out.println("Connected to the database test"); 
      } 

     }catch(Exception ex){ 

      ex.printStackTrace(); 

     } 

    } 

Ich Durchführung des Verfahrens, wenn ich mein Programm laufen:

public TwitchBotFenster() throws IOException, Exception { 

    UIManager.setLookAndFeel("com.sun.java.swing.plaf.windows.WindowsLookAndFeel"); 
    initComponents(); 

    ReadServerMessages.start(); 

    DBConnect(); 

    } 

Die Ausnahme, die ich wie folgt aussieht erhalten:

java.sql.SQLException: No suitable driver found for jdbc:mariadb://localhost:3306/TB 
at java.sql.DriverManager.getConnection(DriverManager.java:689) 
at java.sql.DriverManager.getConnection(DriverManager.java:247) 
at main.TwitchBotFenster.DBConnect(TwitchBotFenster.java:166) 
at main.TwitchBotFenster.<init>(TwitchBotFenster.java:31) 
at main.Main.main(Main.java:9) 

Ich habe die jdbc bereits heruntergeladen und in meine Bibliothek importiert. Apache und MySql laufen auf XAMPP.

+1

Dieser Fehler bedeutet, dass die Datei MariaDB JDBC Driver '.jar * zur Laufzeit nicht im Klassenpfad ist *. – Andreas

+0

@Andreas was soll ich jetzt tun? Ich habe Mariadb jdbc importiert. Was habe ich falsch gemacht? – TomiG

+0

Haben Sie versucht mit 'jdbc: mysql:' anstelle von 'jdbc: mariab:' –

Antwort

0

Wenn Sie Maven verwenden, kann es am schnellsten sein, die JDBC in Ihrem JAR zu schattieren. Was im Moment passiert, ist, dass Sie in der Lage sind, damit zu arbeiten, weil Sie die Abhängigkeit aufgelistet haben, aber wenn Sie Ihren Bot tatsächlich ausführen, laden Sie die Abhängigkeit nicht.

Verwandte Themen