Rednael Geschrieben 20. März 2016 Share Geschrieben 20. März 2016 Hallo. Ich möchte in meinem Spigot Plugin eine Datenbankverbindung aufbauen (1.9). Allerdings kommt ständig die auf dem Bild beschriebene Fehlermeldung, mit der ich nicht sehr viel anfangen kann. Ich habe alles so gemacht, wie es in verschiedenen Tutorials und Videos beschrieben war, vielleicht kann mir ja jemand helfen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Yuki Geschrieben 20. März 2016 Share Geschrieben 20. März 2016 Hi, ohne den Code zu kennen ist es hier denke schwierig eine Aussage zu treffen. Würdest du den Teil des Verbindungsaufbauen mal posten (in Code-Tags) so dass man dies mal anschauen kann? Logindaten natürlich entfernen bzw ersetzen, falls diese Hardcoded sein sollten. -Yuki Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
boomer41 Geschrieben 20. März 2016 Share Geschrieben 20. März 2016 Da steht doch eindeutig "Error in SQL Syntax"... Deine SQL-Anweisung ist fehlerhaft. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Rednael Geschrieben 20. März 2016 Autor Share Geschrieben 20. März 2016 (bearbeitet) Das ist die MySQL.java, in der ich die Verbindung aufbaue, das funktioniert, nur dass er mir beim QueryUpdate (verbindungsUpdate()) einen Fehler ausgibt. package net.rednaelde.plugin; import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Statement; import org.bukkit.Bukkit; public class MySQL { private String dbip; private String dbport; private String dbname; private String dbuser; private String dbpassword; private Connection verbindung; public MySQL() { this.dbip = start.datConf.getString("datenbank.dbip"); this.dbport = start.datConf.getString("datenbank.dbport"); this.dbname = start.datConf.getString("datenbank.dbname"); this.dbuser = start.datConf.getString("datenbank.dbuser"); this.dbpassword = start.datConf.getString("datenbank.dbpassword"); this.starteVerbindung(); } public Connection starteVerbindung() { try { Class.forName("com.mysql.jdbc.Driver"); this.verbindung = DriverManager.getConnection("jdbc:mysql://" + this.dbip + ":" + this.dbport + "/" + this.dbname + "?user=" + this.dbuser + "&password=" + this.dbpassword); return verbindung; } catch (Exception e) { e.printStackTrace(); } return null; } public Connection erhalteVerbindung() { return verbindung; } public void verbindungsUpdate(String query) { PreparedStatement ps = null; try { ps = (PreparedStatement) this.verbindung.prepareStatement(query); ps.executeUpdate(); } catch (SQLException e) { e.printStackTrace(); Bukkit.getConsoleSender().sendMessage(start.prefix + "§cFehler beim Zugriff auf die Datenbank!"); } finally { this.trenneRessourcen(null, ps); } } public void trenneRessourcen(ResultSet rs, PreparedStatement ps) { if (rs != null) { try { rs.close(); } catch (SQLException e) { e.printStackTrace(); Bukkit.getConsoleSender().sendMessage(start.prefix + "§cFehler beim Trennen der Datenbank-Verbindung!"); } } if (ps != null) { try { ps.close(); } catch (SQLException e) { e.printStackTrace(); Bukkit.getConsoleSender().sendMessage(start.prefix + "§cFehler beim Trennen der Datenbank-Verbindung!"); } } } public void trenneVerbindung() { try { verbindung.close(); } catch (SQLException e) { e.printStackTrace(); Bukkit.getConsoleSender().sendMessage(start.prefix + "§cFehler beim Trennen der Datenbank-Verbindung!"); } finally { verbindung = null; } } } Als nächstes die Start-Klasse, in der ich beim Aktivieren überprüfen möchte, ob eine Tabelle bereits existiert und wenn nicht, sie dann zu erzeugen. package net.rednaelde.plugin; import java.io.File; import java.io.IOException; import org.bukkit.Bukkit; import org.bukkit.configuration.file.FileConfiguration; import org.bukkit.configuration.file.YamlConfiguration; import org.bukkit.plugin.java.JavaPlugin; public class start extends JavaPlugin { public static String prefix = "§7[§6§lLobbySystem§7] "; public static String pre = "§6§lLobby§7§l>> §a"; public static String warnung = "§4§l!§7§l>> §c"; public static File dtb = new File("plugins/LobbySystem", "datenbank.yml"); public static FileConfiguration datConf = YamlConfiguration.loadConfiguration(dtb); private MySQL base; @Override public void onEnable() { loadConfig(); try { this.base = new MySQL(); Bukkit.getConsoleSender().sendMessage(prefix + "§aVerbindung zur Datenbank aufgebaut!"); } catch (Exception e) { Bukkit.getConsoleSender().sendMessage(prefix + "§cVerbindung zur Datenbank fehlgeschlagen!"); } this.base.verbindungsUpdate("CREATE TABLE IF NOT EXISTS mc_spieler (uuid varchar(30), name varchar(30)"); registerEvents(); registerCommands(); Bukkit.getConsoleSender().sendMessage(prefix + "§aDas Plugin wurde eingeschaltet"); } @Override public void onDisable() { Bukkit.getConsoleSender().sendMessage(prefix + "§cDas Plugin wurde ausgeschaltet"); } public void loadConfig() { datConf.options().copyDefaults(true); datConf.addDefault("datenbank.dbip", "datenbank.ip"); datConf.addDefault("datenbank.dbport", "3306"); datConf.addDefault("datenbank.dbname", "Datenbank"); datConf.addDefault("datenbank.dbuser", "Benutzer"); datConf.addDefault("datenbank.dbpassword", "Passwort"); try { datConf.save(dtb); } catch (IOException e) { Bukkit.getConsoleSender().sendMessage(prefix + "§cDie Datei §eplugins/datenbank.yml §ckonnte nicht geladen werden!"); } } public MySQL erhalteDatenbank() { return this.base; } public void registerEvents() { } public void registerCommands() { } } Das ist das einzige, was ich bisher habe. Ich hoffe, ihr könnt mir dabei helfen ;). bearbeitet 20. März 2016 von Rednael Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
boomer41 Geschrieben 20. März 2016 Share Geschrieben 20. März 2016 this.base.verbindungsUpdate("CREATE TABLE IF NOT EXISTS mc_spieler (uuid varchar(30), name varchar(30)"); => this.base.verbindungsUpdate("CREATE TABLE IF NOT EXISTS mc_spieler (uuid varchar(30), name varchar(30))"); Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Rednael Geschrieben 20. März 2016 Autor Share Geschrieben 20. März 2016 vor 3 Minuten schrieb boomer41: this.base.verbindungsUpdate("CREATE TABLE IF NOT EXISTS mc_spieler (uuid varchar(30), name varchar(30)"); => this.base.verbindungsUpdate("CREATE TABLE IF NOT EXISTS mc_spieler (uuid varchar(30), name varchar(30))"); Vielen Dank Ich hab es jetzt nach etwas Probieren auch rausbekommen, war gestern wohl einfach zu müde zum Schreiben. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden