警告:ConnectionID:1 登录前错误:主机 127.0.0.1 端口 3306 意外响应类型:74

Aki*_*ora 3 java mysql jdbc javadb

现在我正在尝试使用 Java 制作一个简单的 DBConnection。我使用 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 :(");
            }
        }

}
Run Code Online (Sandbox Code Playgroud)

但目前它给了我这个错误消息。

2014 年 7 月 5 日 7:20:15 PM com.microsoft.sqlserver.jdbc.SQLServerConnection 预登录警告:ConnectionID:1 预登录错误:主机 127.0.0.1 端口 3306 意外响应类型:74

我什至不确定这是否是程序问题,因为它不是例外。该消息会一遍又一遍地在控制台中弹出,就像循环一样。

我努力了:

  • 谷歌搜索了 3 页,其他人的问题与我的有很大不同。
  • 关闭我所有的防火墙。
  • CMD 上的 netstat -an。127.0.0.1:3306 已建立。
  • 哭得像个小婴儿

现在:

  • 我的本地驱动器上有数据库,并且有一个上面指定的数据库。我实际上有 1 个测试表。
  • 它使用我的根密码、管理员用户密码和不在数据库用户列表中的随机凭据来执行该错误消息。
  • 我使用 MySQL Workbench 运行数据库

可能:

  • 我需要在本地托管我的数据库(例如 XAMPP)吗?因为将它放在 MySqlServer 上还不够吗?
  • 我只需要哭着就能入睡吗?

谢谢,我主要在网上回答任何模糊的细节。

这是我通过 netstat 获得的 LocalHost 列表

    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
Run Code Online (Sandbox Code Playgroud)

for*_*une 5

您正在使用作为数据库并尝试在代码中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) {}
}
Run Code Online (Sandbox Code Playgroud)

来自:将 Java 连接到 MySQL 数据库