【问题标题】:Connecting NetBeans to MySQL将 NetBeans 连接到 MySQL
【发布时间】:2013-10-23 02:30:45
【问题描述】:

我已经查看了所有内容并尝试了我能找到的所有内容,所以我正在发帖以防我的问题很奇怪。

MySQL 工作台可以很好地使用服务器进行查询和更新。通知程序显示服务器正在运行。

我尝试使用 Eclipse Juno 和 Kepler 并得到 eclipse SQL State: 08S01 error 0。零数据包发送成功,服务器没有响应。 我重新下载了 Connector/J 以确保下载中断没有错误。没有改善。

我改用 Netbeans 以确保它不仅仅是 Eclipse 和我系统上的某些东西。没有成功发送数据包,也没有收到任何数据。

我进行了测试以确保服务器已打开,并且 telnet 在命令提示符中使用了正确的端口,并且正如预期的那样,它会要求输入密码。我使用 Wire Shark 来查看数据包数据的样子。看起来服务器正在侦听正确的端口,而 MySQL 工作台正在使用正确的端口。

我不知道出了什么问题。我什至更新到 Windows 7 以确保这不是 Vista 的驱动程序身份验证问题。

我在 NetBeans 中使用了这段代码:

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

    public class MySQLTest {
       public static void main(String[] args)
       {
                   try {
               Class.forName("com.mysql.jdbc.Driver").newInstance();
               System.out.println("1");
               Connection con =        DriverManager.getConnection("jdbc:mysql://127.0.0.0:3306/", "root", "wonderwoman");
                 System.out.println("2");
                 con.close();
               System.out.println("We made it!");
           } catch (SQLException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           } catch (ClassNotFoundException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           } catch (InstantiationException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           } catch (IllegalAccessException ex) {
               Logger.getLogger(MySQLTest.class.getName()).log(Level.SEVERE, null, ex);
           }
       }
    }

最终收到了这个:

2013 年 10 月 22 日晚上 8:59:20 rad.MySQLTest main 严重:无 com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: 通信链路故障

最后一个成功发送到服务器的数据包是在 0 毫秒前。驱动没有收到服务器发来的任何数据包。

at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:357)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2482)
    at com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2519)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:834)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:47)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
    at java.sql.DriverManager.getConnection(DriverManager.java:571)
    at java.sql.DriverManager.getConnection(DriverManager.java:215)
    at rad.MySQLTest.main(MySQLTest.java:21)
Caused by: java.net.ConnectException: Connection timed out: connect
    at java.net.DualStackPlainSocketImpl.connect0(Native Method)
    at java.net.DualStackPlainSocketImpl.socketConnect(DualStackPlainSocketImpl.java:79)
    at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:339)
    at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:200)
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:182)
    at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:172)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:579)
    at java.net.Socket.connect(Socket.java:528)
    at java.net.Socket.<init>(Socket.java:425)
    at java.net.Socket.<init>(Socket.java:241)
    at com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:259)
    at com.mysql.jdbc.MysqlIO.<init>(MysqlIO.java:307)
    ... 15 more

我还应该尝试什么?看起来它正在到达服务器,而不是一切都在反弹。我已经关掉了我的防火墙,我没有使用代理,有点把我的头发拉出来了。

【问题讨论】:

  • 将您的数据库名称附加到连接字符串并尝试例如"jdbc:mysql://127.0.0.1:3306/数据库名"
  • 您的数据库名称在哪里.. 将您的数据库名称添加到连接字符串然后它将起作用
  • 我发现了问题。我有一个旧版本的 java 在我更新时没有被删除,并且当驱动程序尝试使用错误版本的 java 时发生冲突。此外,NetBeans 似乎不像 Eclipse 那样发送用户名和密码,所以我不得不使用 'getConnection(url, username, password)' 格式。这是在使用相同连接类型的不同程序中发现的,但无论出于何种原因,它都很重要。

标签: mysql sql jdbc connector-j


【解决方案1】:

我认为您正在本地计算机上运行 mysql,如果将您的数据库名称附加到连接字符串并尝试 例如"jdbc:mysql://127.0.0.1:3306/databasename" 或尝试 "jdbc:mysql://localhost:3306/databasename"
您使用 127.0.0.0 作为您的 IP 地址,但通常 localhost 是 127.0.0.1 而不是 127.0.0.0

【讨论】:

  • 那是当时的错误;但在其他尝试中它是“localhost”和“127.0.0.1”。这不是问题所在。 MySQL 有相当废话的用户/帮助手册。至少可以说我不为所动。不过,感谢您提供帮助。
【解决方案2】:

MySql_connetor.bin 文件添加到您的项目库中,然后清理并构建,然后运行。

【讨论】:

    【解决方案3】:

    我只是快速搜索并看到这个视频教程,也许你一步一步做错了。希望对您的需求有所帮助http://magentoexpertforum.com/showthread.php/10268-Connect-Netbean-to-MySQL

    【讨论】:

      【解决方案4】:

      您好,我刚刚遇到了完全相同的问题,直到现在我的 MySQL 服务器都可以正常连接到 netbeans,然后它突然停止工作。我检查了 bin 文件夹中的 my.config 文件,由于某种原因,端口已从 3306 更改为 6033,因此您可以使用新的端口号重新注册 MySQL,或更改配置文件中的端口号。

      【讨论】:

        【解决方案5】:

        试试这个代码:

        try {
          Class.forName("java.sql.Driver");
          Connection con = 
          DriverManager.getConnection("jdbc:mysql://localhost/db_name","username","password");
          Statement stmt = con.createStatement();
          ///your furthercode acc. to your project
        }
        catch(Exception e) {
          JOptionPane.showMessageDialog(null,e.getMessage());
        }
        

        【讨论】:

        • 您好,欢迎来到 stackoverflow,尽量不要只提供代码,还要提供其他信息,例如您的代码做了什么或最初的错误。
        猜你喜欢
        • 1970-01-01
        • 2014-07-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-10-06
        相关资源
        最近更新 更多