有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

无法在linux ubuntu上使用Eclipse java IDE连接到MySQL,但使用的代码在windows上运行良好

我当时正在用Eclipse Neon(和window builder)在java上做一个小项目(主要是为了好玩),在这个项目中,我必须连接到MySQL并检索某些信息。在windows中,它工作得很好,我能够连接,获取信息,等等。但后来我切换到Linux Ubuntu 16.04,它就是无法连接到MySQL。我已经建立了连接器的路径等等。我不知道发生了什么,也不知道如何修复它,因为我对java编程(或一般编程)非常陌生,也没有读过任何关于它的书。下面我将留下一些代码(至少是我认为重要的代码)

编辑:

import java.awt.EventQueue;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;

import javax.swing.JFrame;
import javax.swing.JOptionPane;
import javax.swing.JPanel;
import javax.swing.border.EmptyBorder;

public class Test extends JFrame {

    Connection Con;
    Statement Sent;

    private JPanel contentPane;

    public static void main(String[] args) {
        EventQueue.invokeLater(new Runnable() {
            public void run() {
                try {
                    Test frame = new Test();
                    frame.setVisible(true);
                } catch (Exception e) {
                    e.printStackTrace();
                }
            }
        });
        try {
            Class.forName("com.mysql.jdbc.Driver");
            Connection con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/BDConductores?" + "user=root&password=PanXo_666");
                Statement st = con.createStatement();
                ResultSet result = st.executeQuery("select * from Proyectos");

                while (result.next()) {

                }

        } catch (ClassNotFoundException e) {
            System.out.println("Driver not found");
        } catch (SQLException e) {
            e.printStackTrace();
        }

    }

    public Test() {
        PrepararBaseDatos();
        setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
        setBounds(100, 100, 450, 300);
        contentPane = new JPanel();
        contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
        setContentPane(contentPane);
        contentPane.setLayout(null);
    }

    void PrepararBaseDatos() {
        try {
            String controlador = "com.mysql.jdbc.Driver";
            Class.forName(controlador).newInstance();
            String servidor = "jdbc:mysql://localhost/BDConductores/";
            String usuarioDB = "root";
            String passwordDB = "PanXo_666";

            Con = DriverManager.getConnection(servidor, usuarioDB, passwordDB);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error al cargar controlador");
        }
        try {
            Sent = Con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);
        } catch (Exception e) {
            JOptionPane.showMessageDialog(null, "Error al cargar controlador");
        }
    }
}

没有错误消息(除了代码中的错误消息),它不会加载控制器,我不知道会发生什么:c


共 (1) 个答案

  1. # 1 楼答案

    最后我终于明白了问题所在。。。我写错了服务器名。 不是这样的:

    String servidor = "jdbc:mysql://localhost/BDConductores/";
    

    是这样的:

    String servidor = "jdbc:mysql://127.0.0.1:3306/BDConductores?";
    

    所以现在我的程序可以毫无问题地连接到我的数据库