【问题标题】:java desktop application , netbeans mysql jdbcjava桌面应用程序,netbeans mysql jdbc
【发布时间】:2014-11-12 12:04:52
【问题描述】:

来自 php 背景,我完全迷失在 JAVA 架构中。 这是我 10 多年来的第一个桌面应用程序,也是我的第一个 Java 应用程序。所以请原谅菜鸟的问题。

我使用 netbeans 7.0.1 + JDK 1.7.0。只需一个按钮即可创建新的桌面应用程序。 执行“导入 java.sql.*;”在“DesktopAppView.java”页面的顶部。 我去了图书馆,然后添加了 MYSQL JDBC 驱动程序。甚至从 MYSQL 站点下载并添加了最新的 JDBC 连接。

进入服务面板,右键单击驱动程序、MySQL(连接器/J 驱动程序)并添加新连接并能够连接到数据库。

然后在“DesktopAppView.java”页面的按钮点击功能中,我添加了:

//String driver =  "com.mysql.jdbc.Driver";
String driver =  "org.gjt.mm.mysql.Driver";
String url = "jdbc:mysql://localhost/test";
String username = "root";
String password = "";

Class.forName(driver); // load MySQL driver
//Class.forName(driver).newInstance(); // load MySQL driver
Connection conn = DriverManager.getConnection(url, username, password);
System.out.println("done"); 

当涉及到“getConnection”部分时,应用程序只是挂起。 当我在 url 字符串中添加“?connectTimeout = 3000”时,它会使应用程序超时:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure...
......
  at java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Caused by: java.net.SocketTimeoutException: Connect timed out
  at java.net.SocksSocketImpl.readSocksReply(SocksSocketImpl.java:125)

但是,在 netbeans(不是桌面应用程序)中创建 java 应用程序时。相同的连接代码可以正常工作???

在过去的两天里,我正在拔头发。我不确定桌面应用程序中添加了哪些可能与数据库连接冲突的内容。

我已经尝试过 SOheil 在这里发布的所有内容...Solving a "communications link failure" with JDBC and MySQL 没有任何效果

请帮忙!!!

【问题讨论】:

  • 你是否在连接 URL 中指定了 MySQL 端口?
  • @Sridhar 只要 MySQL 在默认端口上运行,不需要在 url 中指定端口。
  • 再次启动 NetBeans,不要进入服务。不太可能,但可能这两个访问(服务和您的应用程序)发生冲突。
  • 尝试为数据库指定密码并使用com.mysql.jdbc驱动
  • @Sridhar... mysql 正在运行默认的 3306 端口,我已尝试将其添加到 url 字符串(localhost:3306 或 127.0.0.1:3306 或 my-ip:3306) 但没有成功

标签: java mysql netbeans jdbc desktop


【解决方案1】:

您的问题是以下之一:

  1. 你的mysql服务器没有监听3306端口,或者服务没有正确启动。

您可以使用 mysql 管理员 GUI 了解这一点。如果您可以连接到您的数据库,则服务以正确的方式启动。

  1. 您的防病毒软件或防火墙阻止了对系统 3306 端口的通信请求,因为它会将它们检测为攻击。

祝你好运。

【讨论】:

    【解决方案2】:

    我最终做的是在 netbeans(不是桌面应用程序)中创建一个 java 应用程序,并自己完成所有框架/面板/按钮代码。

    上面的 JDBC 代码完美运行。仍然无法弄清楚为什么创建桌面应用程序只是不想连接到数据库???

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-10-17
      • 2017-05-11
      • 1970-01-01
      • 2012-06-21
      • 1970-01-01
      • 2011-03-24
      • 1970-01-01
      相关资源
      最近更新 更多