ServerPlugin MySQL 2 Plugin nutzen selbe DB obwohl nicht gewollt.

Dieses Thema im Forum "Programmierung" wurde erstellt von MrOAriO, 21. September 2013.

  1. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Hallo Minecraft-Server.eu,
    ich habe ein Problem mit MySQL undzwar habe ich 2 Plugins, jedes Plugin nutzt eigentlich ne andere Datenbank, wenn das erste Plugin lädt, loggt es sich in MySQL etc. ein und dann natürlich auch in die DB, bei dem 2. auch nur dort bleibt es in der DB von den anderen Plugin.

    Die MySQL Klasse :

    Code (Text):
    1. package me.oario;
    2.  
    3. import java.sql.Connection;
    4. import java.sql.DriverManager;
    5. import java.sql.ResultSet;
    6. import java.sql.SQLException;
    7. import java.sql.Statement;
    8. import org.bukkit.Bukkit;
    9.  
    10. public class MySQL {
    11.  
    12.     public static String user = "";
    13.     public static String pass = "";
    14.     public static String host = "";
    15.     public static String data = "";
    16.     public static Connection connection;
    17.  
    18.     public static void close() {
    19.         try {
    20.             Bukkit.getServer().broadcastMessage("§c§l[SpleggLobby] MySQL CLOSED");
    21.             if (connection != null) {
    22.                 connection.close();
    23.             }
    24.         } catch (Exception ex) {
    25.             System.err.println("[] SpleggLobby-Error-MySQL-close []");
    26.             System.err.println(ex);
    27.             System.err.println("[] SpleggLobby-Error-MySQL-close []");
    28.         }
    29.     }
    30.  
    31.     public static void connect() {
    32.         try {
    33.             connection = DriverManager.getConnection("jdbc:mysql://" + SpleggLobby.MySQL_host + ":3306/" + SpleggLobby.MySQL_db,
    34.                     SpleggLobby.MySQL_user, SpleggLobby.MySQL_pass);
    35.         } catch (SQLException e) {
    36.             // TODO Auto-generated catch block
    37.             e.printStackTrace();
    38.         }
    39.         Bukkit.getServer().broadcastMessage("§a§l[SpleggLobby] MySQL Connected!");
    40.         System.out.print("[SpleggLobby] MySQL Connected");
    41.     }
    42.  
    43.     public static void Update(String qry) {
    44.         try {
    45.             Statement stmt = connection.createStatement();
    46.             stmt.executeUpdate(qry);
    47.  
    48.             stmt.close();
    49.         } catch (Exception ex) {
    50.             connect();
    51.             System.err.println("[] SpleggLobby-Error-MySQL-Update []");
    52.             System.err.println(ex);
    53.             System.err.println("[] SpleggLobby-Error-MySQL-Update []");
    54.         }
    55.     }
    56.  
    57.     public static ResultSet Query(String qry) {
    58.         ResultSet rs = null;
    59.         try {
    60.             Statement stmt = connection.createStatement();
    61.             rs = stmt.executeQuery(qry);
    62.         } catch (Exception ex) {
    63.             connect();
    64.             System.err.println("[] SpleggLobby-Error-MySQL-Query []");
    65.             System.err.println(ex);
    66.             System.err.println("[] SpleggLobby-Error-MySQL-Query []");
    67.         }
    68.         return rs;
    69.     }
    70. }
    71.  
     
    #1
  2. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Beschreibe dein Problem bitte verständlich.
     
    #2
  3. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Nicht so einfach zu erklären, also ...
    Mein Problem liegt darin das Plugin Connected zu MySQL alles Okey, das 2. Plugin auch, allerdings nutzt das 2. Plugin die selbe Datenbank. Was eigentlich nicht sein sollte.
    Habe schon versucht bei MySQL einen 2. User Anzulegen geht trotzdem nicht.

    Lg MrOAriO
     
    #3
  4. Kann man nicht normalerweise bei jedem Plugin in der Config einstellen auf welche DB das Plugin zugreifen soll?
     
    #4
  5. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Ja kann man, so wie bei meinem auch. Langsam glaube ich das das an irgendwas anderes liegt ...
     
    #5
  6. Crafter6432
    Offline

    Crafter6432

    Registriert seit:
    22. Dezember 2011
    Beiträge:
    686
    Das 2 Plugin auf die selbe DB zugreifen ist kein Problem, MySql ist dafür gemacht.
     
    #6
  7. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Soll es aber nicht. Das erste hat bsp. sg als DB, das 2. splegg. Da sonst Error auftreten.


    Beenden 19600 splegg localhost:46425 splegg Sleep 2783 --- ---
    Beenden 20960 sg localhost:48370 sg Sleep 1 --- ---

    Dort sieht man sogar das MySQL genutzt wird auch mit den verschiedenen DBs aber im Plugin halt nicht.

    Edit : Habe rausgefunden woran es lag, in beiden Plugins hieß die .class gleich also auch MySQL jetzt habe ich die eine umbenannt und nun funktioniert es ... Komisch
     
    #7
  8. Cabraca
    Online

    Cabraca

    Lass mich raten:
    Beide Plugins besitzen das Package "me.oario" in dem die Klasse "MySQL" liegt?
    Dann liegt dein Problem auf der Hand.
    Plugin 2 sucht nach der Klasse "me.oario.MySQL", findet aber die Klasse von Plugin 1 inkl. der MySQL Daten für Plugin 1.
    Regel 1 beim Programmieren mit Java: Unterschiedliche Projekte, unterschiedliche Packages!
    Mach statt me.oario einfach me.oario.plugin1 bzw me.oario.plugin2 dann sollte das Problem nicht mehr auftreten.
     
    #8
  9. MrOAriO
    Offline

    MrOAriO

    Registriert seit:
    6. Oktober 2012
    Beiträge:
    135
    Minecraft:
    OAriO
    Ahh okey ich danke dir. Meine Rettung :D
     
    #9