Проблема в связи на основе данных mysql

Вопрос - следующий:

  1. У меня есть следующий код, чтобы создавать связь с BD, которая называется bd_alumnos в MySql:

    public class Conexion {
    private static Conexion instancia=null;
    private static Connection conn;
    
    private Conexion()
    {
        String host="127.0.0.1:3306";
        String user="root";
        String pass="xxxx";
        String dtbs="bd_alumnos";
    
        try
        {
           Class.forName("com.mysql.jdbc.Driver"); //Inicializar el driver
           String newConnectionURL = "jdbc:mysql://"+host+"/"+dtbs
                        + "?" +"user=" + user + "&password=" + pass;
          conn = DriverManager.getConnection(newConnectionURL);
        }catch(Exception e)
        {
            e.printStackTrace();
        }    
    }
    
    public static Conexion getInstancia()
    {
        if(instancia==null) instancia=new Conexion();
        return instancia;
    }
    
  2. Я использую главный файл программирования Синглтон.

  3. Он дает мне следующую ошибку:

run: com.mysql.jdbc.exceptions.jdbc4. MySQLSyntaxErrorException: Unknown был датирован 'bd_alumnos' at sun.reflect. NativeConstructorAccessorImpl.newInstance0 (Нативе Метод) at sun.reflect. NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) at sun.reflect. DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect. Constructor.newInstance (Строитель java:423) at com.mysql.jdbc. Util.handleNewInstance (Util.java:411) at com.mysql.jdbc. Util.getInstance (Util.java:386) at com.mysql.jdbc. SQLError.createSQLException (SQLError.java:1053) at com.mysql.jdbc. MysqlIO.checkErrorPacket (MysqlIO.java:4096) at com.mysql.jdbc. MysqlIO.checkErrorPacket (MysqlIO.java:4028) at com.mysql.jdbc. MysqlIO.checkErrorPacket (MysqlIO.java:919) at com.mysql.jdbc. MysqlIO.proceedHandshakeWithPluggableAuthentication (MysqlIO.java:1694) at com.mysql.jdbc. MysqlIO.doHandshake (MysqlIO.java:1244) at com.mysql.jdbc. ConnectionImpl.coreConnect (ConnectionImpl.java:2412) at com.mysql.jdbc. ConnectionImpl.connectOneTryOnly (ConnectionImpl.java:2445) at com.mysql.jdbc. ConnectionImpl.createNewIO (ConnectionImpl.java:2230) at com.mysql.jdbc. ConnectionImpl. (ConnectionImpl.java:813) at com.mysql.jdbc. JDBC4Connection. (JDBC4Connection.java:47) at sun.reflect. NativeConstructorAccessorImpl.newInstance0 (Нативе Метод) at sun.reflect. NativeConstructorAccessorImpl.newInstance (NativeConstructorAccessorImpl.java:62) at sun.reflect. DelegatingConstructorAccessorImpl.newInstance (DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect. Constructor.newInstance (Строитель java:423) at com.mysql.jdbc. Util.handleNewInstance (Util.java:411) at com.mysql.jdbc. ConnectionImpl.getInstance (ConnectionImpl.java:399) at com.mysql.jdbc. NonRegisteringDriver.connect (NonRegisteringDriver.java:334) at java.sql. DriverManager.getConnection (DriverManager.java:664) at java.sql. DriverManager.getConnection (DriverManager.java:270) at Связь. Связь. (Conexion.java:31) at Связь. Conexion.getInstancia (Conexion.java:40) at bdalumnos. BDAlumnos.main (BDAlumnos.java:18) BUILD SUCCESSFUL (общее количество украло: 1 second)

Как я могу решать это?

Спасибо за вашу помощь.

1
задан 22.05.2017, 18:57
1 ответ

Форма, в которой ты присоединяешься, - extraña, прежде всего этот l¦-nea:

   String newConnectionURL = "jdbc:mysql://"+host+"/"+dtbs
                + "?" +"user=" + user + "&password=" + pass;

Это también мне кажется чем-то extraño:

if(instancia==null) instancia=new Conexion();

Делая conexi¦n таким образом deber¦, - чтобы функционировать:

public class Conexion {
private static Conexion instancia=null;
private static Connection conn;

private Conexion()
{
    String host="127.0.0.1:3306";
    String user="root";
    String pass="xxxx";
    String dtbs="bd_alumnos";
    String driver = "com.mysql.jdbc.Driver";
    String connection = "jdbc:mysql://"+host+"/"+dtbs;

    try
    {
        Class.forName(driver);
        Connection conn = DriverManager.getConnection(connection, user, pass);

    }catch(Exception e)
    {
        e.printStackTrace();
    }    
}

    public static Conexion getInstancia()
    {
        if(instancia==null) instancia=new Conexion();
        return instancia;
    }

Aquà - у тебя есть другие примеры из conexi¦n с драйвером MySQL.

Как уже было сказано в комментариях, проверяет, что BD существует, и что он называется asà - действительно, и что тот же estÃ: слушая в порту 3306.

1
ответ дан 24.11.2019, 08:59

Теги

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