Вопрос по mysql, java – mysql java нет подходящего драйвера

0

enter image description hereВ следующем коде .. я не получаю подходящий драйвер .. ошибка: пожалуйста помоги. Я работаю с ним уже час и не могу понять это.

Это безумие Я смог сделать это точно раньше, прежде чем я начал возиться с GWT.

package com.gwt.churchweb.churchweblogin.client;

import com.google.gwt.user.client.ui.Composite;

import com.google.gwt.user.client.ui.VerticalPanel;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.FlexTable;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.HasHorizontalAlignment;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.user.client.Window;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.sql.DriverManager;

import java.util.logging.Level;
import java.util.logging.Logger;

public class Login extends Composite {

    public Login() {

        VerticalPanel verticalPanel = new VerticalPanel();
        initWidget(verticalPanel);
        verticalPanel.setSize("329px", "186px");

        Label lblNewLabel = new Label("Sign into your account");
        lblNewLabel.setStyleName("gwt-Login-SigninLabel");
        verticalPanel.add(lblNewLabel);

        FlexTable flexTable = new FlexTable();
        verticalPanel.add(flexTable);
        flexTable.setWidth("308px");

        Label lblNewLabel_1 = new Label("Username:");
        lblNewLabel_1.setStyleName("gwt-Label-Login");
        flexTable.setWidget(0, 0, lblNewLabel_1);
        lblNewLabel_1.setWidth("72px");

        final TextBox textboxUsername = new TextBox();
        textboxUsername.setStyleName("gwt-LoginTextBox");
        flexTable.setWidget(0, 1, textboxUsername);
        textboxUsername.setWidth("204px");

        Label lblNewLabel_2 = new Label("Password:");
        lblNewLabel_2.setStyleName("gwt-Label-Login");
        flexTable.setWidget(1, 0, lblNewLabel_2);
        lblNewLabel_2.setWidth("66px");

        final TextBox textBoxPassword = new TextBox();
        textBoxPassword.setStyleName("gwt-LoginTextBox");
        flexTable.setWidget(1, 1, textBoxPassword);
        textBoxPassword.setWidth("204px");
        flexTable.getCellFormatter().setHorizontalAlignment(0, 0, HasHorizontalAlignment.ALIGN_LEFT);
        flexTable.getCellFormatter().setHorizontalAlignment(1, 0, HasHorizontalAlignment.ALIGN_LEFT);

        CheckBox chckbxRememberMeOn = new CheckBox("Remember me on this computer");
        chckbxRememberMeOn.setStyleName("gwt-Checkbox-Login");
        flexTable.setWidget(2, 1, chckbxRememberMeOn);

        Button btnSignIn = new Button("Sign In");
        btnSignIn.addClickHandler(new ClickHandler() {
            public void onClick(ClickEvent event) {
                Connection con = null;
                Statement st = null;
                ResultSet rs = null;

                String url = "jdbc:mysql://localhost:3306/churchweb";
                String user = "root";
                String password = "*****";

                try {
                    con = DriverManager.getConnection(url, user, password);
                    st = con.createStatement();
                    rs = st.executeQuery("SELECT VERSION()");
Window.alert("Fixing to try it");
                    if (rs.next()) {
                        Window.alert(rs.getString(1));
                    }

                } catch (SQLException ex) {
                    Logger lgr = Logger.getLogger(Login.class.getName());
                    lgr.log(Level.SEVERE, ex.getMessage(), ex);

                } finally {
                    try {
                        if (rs != null) {
                            rs.close();
                        }
                        if (st != null) {
                            st.close();
                        }
                        if (con != null) {
                            con.close();
                        }

                    } catch (SQLException ex) {
                        Logger lgr = Logger.getLogger(Login.class.getName());
                        lgr.log(Level.WARNING, ex.getMessage(), ex);
                    }
                }





                if (textboxUsername.getText().length() == 0
                        || textBoxPassword.getText().length() == 0) {
                        Window.alert("Username or password is empty."); 
                    }
            }
        });

        btnSignIn.setStyleName("gwt-Login-SigninButton");
        flexTable.setWidget(3, 1, btnSignIn);

    }


}
Строка url = & quot; jdbc: mysql: // localhost: 3306 / churchweb & quot ;; Строка user = & quot; root & quot ;; & lt; == это не загружает драйвер, Фредди? Chris Norris
Я считаю, что два ответа уже были предоставлены для решения этой проблемы. Где вы загружаете драйвер? Я не вижу этого в вашей публикации кода. Это должно быть сделано в вашем коде, чтобы jvm загрузил «подходящий» файл. Водитель. Наличие .jar не решит вашу проблему. Freddy

Ваш Ответ

3   ответа
2

Соединитель / Дж файл jar драйвера находится в вашем classpath.

как я это сделал? Chris Norris
Скачайте файл по ссылке. Распакуйте его, и вы найдете файл .jar внутри папки lib. Скопируйте этот файл в папку lib / вашего проекта.
спасибо ребята за вашу помощь Chris Norris
о, я сделал это ... одну секунду плохо выложить скриншот, если я позволю Chris Norris
2

попробуйте добавить Class.forName (& quot; com.mysql.jdbc.Driver & quot;);

1

который поставляется с драйвером Connector-J с веб-страницы Sun. Ниже приведен фрагмент этого документа.

 try {
    Class.forName("com.mysql.jdbc.Driver").newInstance();
  } catch (Exception ex) {
     // handle the error
  }

Если вы хотите узнать больше о загрузке драйвера java jdbc, обратитесь к главе 6 файла connector-j.pdf, которая была включена в комплект поставки вашего драйвера.

Похожие вопросы