Hallo Leute!
Ich bin verzweifelt die ganze zeit habe ich jetzt daran gesessen eine mysql Verbindung mit Java für meinen discord bot zu erstellen doch ich bekomme es einfach nicht hin .
Ich hoffe ihr könnt mir weiterhelfen...
Hier der Fehlercode:
Die Verbindung zur Datenbank:
Die Main.java:
Und die Commands.java:
Ich hoffe ihr könnt mir weiter helfen...
wenn ihr noch mehr material braucht oder fragen habt um mir zu helfen einfach fragen
Markus
Ich bin verzweifelt die ganze zeit habe ich jetzt daran gesessen eine mysql Verbindung mit Java für meinen discord bot zu erstellen doch ich bekomme es einfach nicht hin .
Ich hoffe ihr könnt mir weiterhelfen...
Hier der Fehlercode:
Code:
java.sql.SQLException: The server time zone value 'Mitteleuropäische Sommerzeit' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:129)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:97)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:89)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:63)
at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:73)
at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:76)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:832)
at com.mysql.cj.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:456)
at com.mysql.cj.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:240)
at com.mysql.cj.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:207)
at java.sql.DriverManager.getConnection(DriverManager.java:664)
at java.sql.DriverManager.getConnection(DriverManager.java:247)
at me.cubecoder.gametime.MySQL.connect(MySQL.java:19)
at me.cubecoder.gametime.Main.main(Main.java:13)
Caused by: com.mysql.cj.exceptions.InvalidConnectionAttributeException: The server time zone value 'Mitteleuropäische Sommerzeit' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:61)
at com.mysql.cj.exceptions.ExceptionFactory.createException(ExceptionFactory.java:85)
at com.mysql.cj.util.TimeUtil.getCanonicalTimezone(TimeUtil.java:128)
at com.mysql.cj.protocol.a.NativeProtocol.configureTimezone(NativeProtocol.java:2236)
at com.mysql.cj.protocol.a.NativeProtocol.initServerSession(NativeProtocol.java:2260)
at com.mysql.cj.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:1314)
at com.mysql.cj.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:963)
at com.mysql.cj.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:822)
... 7 more
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
SLF4J: Failed to load class "org.slf4j.impl.StaticMDCBinder".
SLF4J: Defaulting to no-operation MDCAdapter implementation.
SLF4J: See http://www.slf4j.org/codes.html#no_static_mdc_binder for further details.
[main] INFO JDA - Login Successful!
[JDA MainWS-ReadThread] INFO WebSocketClient - Connected to WebSocket
[JDA MainWS-ReadThread] INFO JDA - Finished Loading!
[JDA MainWS-ReadThread] ERROR JDA - One of the EventListeners had an uncaught exception
java.lang.NullPointerException
at me.cubecoder.gametime.Commands.onMessageReceived(Commands.java:26)
at net.dv8tion.jda.core.hooks.ListenerAdapter.onEvent(ListenerAdapter.java:409)
at net.dv8tion.jda.core.hooks.InterfacedEventManager.handle(InterfacedEventManager.java:84)
at net.dv8tion.jda.core.handle.MessageCreateHandler.handleInternally(MessageCreateHandler.java:122)
at net.dv8tion.jda.core.handle.SocketHandler.handle(SocketHandler.java:37)
at net.dv8tion.jda.core.requests.WebSocketClient.onDispatch(WebSocketClient.java:1069)
at net.dv8tion.jda.core.requests.WebSocketClient.onEvent(WebSocketClient.java:929)
at net.dv8tion.jda.core.requests.WebSocketClient.handleEvent(WebSocketClient.java:908)
at net.dv8tion.jda.core.requests.WebSocketClient.onBinaryMessage(WebSocketClient.java:1101)
at com.neovisionaries.ws.client.ListenerManager.callOnBinaryMessage(ListenerManager.java:368)
at com.neovisionaries.ws.client.ReadingThread.callOnBinaryMessage(ReadingThread.java:270)
at com.neovisionaries.ws.client.ReadingThread.handleBinaryFrame(ReadingThread.java:990)
at com.neovisionaries.ws.client.ReadingThread.handleFrame(ReadingThread.java:749)
at com.neovisionaries.ws.client.ReadingThread.main(ReadingThread.java:108)
at com.neovisionaries.ws.client.ReadingThread.runMain(ReadingThread.java:64)
at com.neovisionaries.ws.client.WebSocketThread.run(WebSocketThread.java:45)
Die Verbindung zur Datenbank:
Code:
package me.cubecoder.gametime;
import java.sql.*;
import java.util.Properties;
import java.util.TimeZone;
public class MySQL {
public static String host = "localhost";
public static String port = "3306";
public static String database = "gametime";
public static String username = "gametime";
public static String password = "gametime";
public static Connection con;
public static void connect(){
if (!isConnected()){
try {
con = DriverManager.getConnection("jdbc:mysql://" + host + ":" + port + "/" + database, username, password);
System.out.println("MySQL connected!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static void disconnect(){
if (isConnected()){
try {
con.close();
System.out.println("MySQL disconnected!");
} catch (SQLException e) {
e.printStackTrace();
}
}
}
public static boolean isConnected(){
return (con == null ? false : true);
}
public static Connection getCon() {
return con;
}
}
Die Main.java:
Code:
package me.cubecoder.gametime;
import net.dv8tion.jda.core.AccountType;
import net.dv8tion.jda.core.JDABuilder;
import net.dv8tion.jda.core.entities.Game;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
import javax.security.auth.login.LoginException;
public class Main extends ListenerAdapter {
public static JDABuilder builder;
public static void main(String[] args){
MySQL.connect();
try {
builder = new JDABuilder(AccountType.BOT);
builder.setToken("NDc3ODIzMzg1OTUxMjcyOTc4.DlBwBw.LrP0qfej8S-Z1HN_yLmrBZRZRDQ");
builder.addEventListener(new Commands());
builder.setGame(Game.playing(" version 1.0"));
builder.buildBlocking();
} catch (LoginException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
Und die Commands.java:
Code:
package me.cubecoder.gametime;
import net.dv8tion.jda.core.entities.Message;
import net.dv8tion.jda.core.entities.MessageChannel;
import net.dv8tion.jda.core.entities.User;
import net.dv8tion.jda.core.events.message.MessageReceivedEvent;
import net.dv8tion.jda.core.hooks.ListenerAdapter;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
public class Commands extends ListenerAdapter {
@Override
public void onMessageReceived(MessageReceivedEvent e){
User author = e.getAuthor();
Message message = e.getMessage();
MessageChannel channel = e.getChannel();
String msg = message.getContentDisplay();
boolean isbot = author.isBot();
if (msg.equals("!list")){
try {
PreparedStatement ps = MySQL.getCon().prepareStatement("SELECT * FROM gametime");
ResultSet rs = ps.executeQuery();
while (rs.next()){
channel.sendMessage(rs.getString("id"));
}
}catch (SQLException ex){
ex.printStackTrace();
}
}
if (msg.equals("!logout")){
channel.sendMessage("Logging out!").queue();
e.getJDA().getSelfUser().getJDA().shutdown();
}
}
}
Ich hoffe ihr könnt mir weiter helfen...
wenn ihr noch mehr material braucht oder fragen habt um mir zu helfen einfach fragen
Markus