1. Вы находитесь в сообществе Rubukkit. Мы - администраторы серверов Minecraft, разрабатываем собственные плагины и переводим на различные языки плагины наших коллег из других стран.
    Скрыть объявление
Скрыть объявление
В преддверии глобального обновления, мы проводим исследования, которые помогут нам сделать опыт пользования форумом ещё удобнее. Помогите нам, примите участие!

Помогите invalid database adress

Тема в разделе "Разработка плагинов для новичков", создана пользователем AnleaR, 6 июл 2020.

Метки:
Статус темы:
Закрыта.
  1. Автор темы
    AnleaR

    AnleaR Участник Пользователь

    Баллы:
    36
    Это было в отдельном классе, но повторюсь, много проб, ошибок и т.д.
     
  2. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Возьми мой класс и под себя переделай.
     
  3. nutrolshok

    nutrolshok Активный участник Пользователь

    Баллы:
    76
    Ну лол, у тебя всё правильно, всё должно работать. Я думаю, что у тебя траблы из-за самой бд
     
  4. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    В твоей ошибке ты вообще пытаешься к sqlite конектится. Приведи свой плагин в порядок. Доигрался со статиками называется.
     
  5. Автор темы
    AnleaR

    AnleaR Участник Пользователь

    Баллы:
    36
    Проверил весь плагин. Нигде нет признаков sqlite...
     
  6. Автор темы
    AnleaR

    AnleaR Участник Пользователь

    Баллы:
    36
    Ошибка может возникнуть из-за недоработки в API? Версия 1.8.8-R0.1-SNAPSHOT
     
  7. NoooobKa

    NoooobKa Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    Нет, скинь скрин развернутой дб, мб ты подключаешься к таблице?
     
  8. Автор темы
    AnleaR

    AnleaR Участник Пользователь

    Баллы:
    36
    Дб пустая, таблиц нет.
     
  9. NoooobKa

    NoooobKa Активный участник Пользователь

    Баллы:
    76
    Имя в Minecraft:
    NoooobKa
    В конфиге пробелов лишних не стоит?
    Используешь MySQL Workbanch?
    Попробуй сделать через нормальный класс, я использую кого-то немца
    Код:
    public class MySQL {
    
        private String Host;
        private String Database;
        private String Username;
        private String Password;
        private Connection connection;
        
        public MySQL(final String host, final String database, final String username, final String password) {
            this.Host = host;
            this.Database = database;
            this.Username = username;
            this.Password = password;
        }
        
        public void Connect() {
            try {
                Class.forName("com.mysql.jdbc.Driver");
            }
            catch (ClassNotFoundException e1) {
                System.out.println("[MySQLAPI] Fehler 01");
                System.out.println("[MySQLAPI] Es fehlen benoetigte Klassen!");
                e1.printStackTrace();
            }
            //final String url = "jdbc:mysql://" + this.Host + ":3306/" + this.Database + "?characterEncoding=latin1&useConfigs=maxPerformance";
            final String url = "jdbc:mysql://" + this.Host + ":3306/" + this.Database + "?useUnicode=true&characterEncoding=utf-8";
            try {
                this.connection = DriverManager.getConnection(url, this.Username, this.Password);
            }
            catch (SQLException e2) {
                System.out.println("[MySQLAPI] Fehler 02");
                System.out.println("[MySQLAPI] Es ist ein Fehler bei der Verbindung aufgetreten!");
                e2.printStackTrace();
            }
        }
        
        public void Disconnect() {
            try {
                if (!this.connection.isClosed() && this.connection != null) {
                    this.connection.close();
                    System.out.println("[MySQLAPI] Die Verbindung zum MySQL-Server wurde erfolgreich getrennt!");
                }
                else {
                    System.out.println("[MySQLAPI] Die Verbindung ist bereits getrennt!");
                }
            }
            catch (SQLException e3) {
                System.out.println("[MySQLAPI] Fehler 03");
                System.out.println("[MySQLAPI] Es ist ein Fehler beim trennen der Verbindung aufgetreten!");
                e3.printStackTrace();
            }
        }
        
        public ResultSet GetResult(final String command) {
            try {
                if (this.connection.isClosed()) {
                    this.Connect();
                }
                final Statement st = this.connection.createStatement();
                st.executeQuery(command);
                final ResultSet rs = st.getResultSet();
                return rs;
            }
            catch (SQLException e4) {
                System.out.println("[MySQLAPI] Fehler 04");
                System.out.println("[MySQLAPI] Es ist ein Fehler beim Ausfuehren des Befehls aufgetreten!");
                e4.printStackTrace();
                return null;
            }
        }
        
        public void ExecuteCommand(final String command) {
            try {
                if (this.connection.isClosed()) {
                    this.Connect();
                }
                final Statement st = this.connection.createStatement();
                st.executeUpdate(command);
            }
            catch (SQLException e5) {
                System.out.println("[MySQLAPI] Fehler 04");
                System.out.println("[MySQLAPI] Es ist ein Fehler beim Ausfuehren des Befehls aufgetreten!");
                e5.printStackTrace();
            }
        }
        public Connection getConnection() {
            return this.connection;
        }
    }
    
     
    Последнее редактирование: 9 июл 2020
  10. alexandrage

    alexandrage Старожил Пользователь

    Баллы:
    173
    Проверяй лучше.
     
  11. nutrolshok

    nutrolshok Активный участник Пользователь

    Баллы:
    76
    Ага, хороший класс с методами, названия которых начинаются с больших букв)
     
  12. Автор темы
    AnleaR

    AnleaR Участник Пользователь

    Баллы:
    36
    Попробовал.. Не помогло(
     
  13. Автор темы
    AnleaR

    AnleaR Участник Пользователь

    Баллы:
    36
    Я раньше устанавливал sqlite на пк. Может он конфликтует?
     
  14. Code

    Code Старожил Пользователь

    Баллы:
    123
    Имя в Minecraft:
    _Gizmo
    боже, сделай просто main class с коннектом, запусти из ide под дебагом, и посмотри что происходит в DriverManager.
    там цикл по драйверам разным, проверь есть ли среди них драйвер мускула и что происходит при попытке его использовать
     
  15. Автор темы
    AnleaR

    AnleaR Участник Пользователь

    Баллы:
    36
    Уже не нужно. Я решил использовать sqlite.
     
Статус темы:
Закрыта.

Поделиться этой страницей