ВНИМАНИЕ: ConnectionID: 1 Ошибка перед входом в систему: хост 127.0.0.1 порт 3306 Неожиданный тип ответа: 74

Сейчас я пытаюсь сделать простое DBConnection с помощью Java. Я использую Eclipse IDE для разработки.

import java.sql.*;


public class DbConnect {
    private static String url = "jdbc:sqlserver://127.0.0.1:3306;databaseName=personal_AkiraDatabase";
    private static String user = "XXXX";
    private static String password = "XXXX";

    public static void main(String [] Args){
        try{
            Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
            Connection con = DriverManager.getConnection(url, user, password);
            if(con != null){
                System.out.println("Connection was a success!");
            }else{
                System.out.println("Connection failed. :(");
            }


        } catch (ClassNotFoundException e) {
                e.printStackTrace();
                System.out.println("ClassNotFoundException :(");
            } catch (SQLException e) {
                e.printStackTrace();
                System.out.println("SQLException :(");
            }
        }

}

Но в настоящее время он дает мне это сообщение об ошибке.

05 июля 2014 г. 19:20:15 com.microsoft.sqlserver.jdbc.SQLServerConnection Предварительный вход ПРЕДУПРЕЖДЕНИЕ: ConnectionID: 1 Ошибка предварительного входа: хост 127.0.0.1 порт 3306 Неожиданный тип ответа: 74

Я даже не уверен, что это проблема программы, потому что это не было исключением. Сообщение просто появляется в консоли снова и снова, как если бы оно было в цикле.

Я пытался:

  • Погуглив до 3-х страниц, проблемы других людей сильно отличались от моих.
  • Отключение всех моих брандмауэров.
  • netstat -an в CMD. 127.0.0.1:3306 установлен.
  • Плачет, как маленький ребенок

В настоящее время:

  • У меня есть БД на моем локальном диске, и у меня есть БД, названная выше. На самом деле у меня есть 1 тестовая таблица.
  • Он делает это сообщение об ошибке с моим корневым паролем, с паролем администратора и случайными учетными данными, которых нет в списке пользователей базы данных.
  • Я запускаю свою БД с помощью MySQL Workbench

Возможно:

  • Мне нужно разместить мою БД на чем-то вроде XAMPP локально? Потому что его на MySqlServer недостаточно?
  • Мне просто нужно выплакаться, чтобы уснуть?

Спасибо, и я в основном онлайн, чтобы ответить на любые расплывчатые детали.

Вот список моего LocalHost через netstat

    TCP    127.0.0.1:3306         127.0.0.1:7303         ESTABLISHED
TCP    127.0.0.1:3306         127.0.0.1:11990        ESTABLISHED
TCP    127.0.0.1:3306         127.0.0.1:11991        ESTABLISHED
TCP    127.0.0.1:3306         127.0.0.1:11999        ESTABLISHED
TCP    127.0.0.1:7303         127.0.0.1:3306         ESTABLISHED
TCP    127.0.0.1:10000        0.0.0.0:0              LISTENING
TCP    127.0.0.1:11990        127.0.0.1:3306         ESTABLISHED
TCP    127.0.0.1:11991        127.0.0.1:3306         ESTABLISHED
TCP    127.0.0.1:11999        127.0.0.1:3306         ESTABLISHED
TCP    127.0.0.1:12025        0.0.0.0:0              LISTENING
TCP    127.0.0.1:12110        0.0.0.0:0              LISTENING
TCP    127.0.0.1:12119        0.0.0.0:0              LISTENING
TCP    127.0.0.1:12143        0.0.0.0:0              LISTENING
TCP    127.0.0.1:12465        0.0.0.0:0              LISTENING
TCP    127.0.0.1:12563        0.0.0.0:0              LISTENING
TCP    127.0.0.1:12993        0.0.0.0:0              LISTENING
TCP    127.0.0.1:12995        0.0.0.0:0              LISTENING
TCP    127.0.0.1:27275        0.0.0.0:0              LISTENING

person Akira Hora    schedule 05.07.2014    source источник
comment
Было бы здорово, если бы вы могли опубликовать полную трассировку стека.   -  person Darshan Lila    schedule 05.07.2014
comment
На самом деле нет Stacktrace, просто это сообщение об ошибке снова и снова, пока я вручную не завершу процесс   -  person Akira Hora    schedule 05.07.2014
comment
1434 — порт по умолчанию. Вы добавили исключение брандмауэра для этого порта?   -  person Darshan Lila    schedule 05.07.2014
comment
Я фактически деактивировал брандмауэр Windows, чтобы исключить эту возможность. Все тот же.   -  person Akira Hora    schedule 05.07.2014
comment
Пожалуйста, опубликуйте вывод следующей команды: netstat -an   -  person Darshan Lila    schedule 05.07.2014
comment
@ user3792604, к какой базе данных вы пытаетесь подключиться? Это Mysql или SQL Server?   -  person fortune    schedule 05.07.2014
comment
@Fortune MySQL Server 5.0 Или, скорее, MySQL   -  person Akira Hora    schedule 05.07.2014
comment
@user3792604 перейдите по этому URL-адресу stackoverflow.com/questions/2839321/   -  person fortune    schedule 05.07.2014
comment
@user3792604 user3792604 попробуйте хоть раз порты по умолчанию для сервера sql. Кажется, вы используете драйверы sqlserver для подключения к mysql.   -  person Darshan Lila    schedule 05.07.2014


Ответы (1)


Вы используете Mysql в качестве БД и пытаетесь подключиться к SQLSERVER БД в своем коде. Это не правильно.

Пример подключения к базе данных между Java и Mysql выглядит следующим образом:

Class.forName("com.mysql.jdbc.Driver").newInstance();
String url = "jdbc:mysql://localhost:3306/personal_AkiraDatabase";
String username = "xxxx";
String password = "xxxxx"
Connection connection = null;
try {
    System.out.println("Connecting database...");
    connection = DriverManager.getConnection(url, username, password);
    System.out.println("Database connected!");
} catch (SQLException e) {
    throw new RuntimeException("Cannot connect the database!", e);
} finally {
    System.out.println("Closing the connection.");
    if (connection != null) try { connection.close(); } catch (SQLException ignore) {}
}

From: Подключение Java к базе данных MySQL

person fortune    schedule 05.07.2014
comment
Да, это оно. Спасибо и спасибо @Darshan Lila. Прости за мою глупость. ржунимагу! - person Akira Hora; 05.07.2014
comment
@ user3792604 tnx. Наслаждайтесь кодированием. :) - person fortune; 05.07.2014