当前位置: 首页 > 知识库问答 >
问题:

NetBeans MySQL驱动程序连接错误dist Jar文件

柴宏阔
2023-03-14

我正在用NetBeans开发一个程序,它使用PHPMyadmin连接到一个MySQL在线服务器,通过NetBeans运行这个程序,它工作得非常好,但是当我尝试使用项目“dist”文件夹中的Jar文件运行它时,会抛出一个错误,我将在最后发布它。

我的问题是:

为什么在NetBeans works中发生这种情况,而在dist Jar文件中却没有?

如果不使用NetBeans,只需双击Jar文件,我如何在其他计算机上运行它?(我刚刚在另一台没有NetBean IDE的计算机上下载了最新的java版本,我得到了无法连接到com jdbc mysql驱动程序的错误)。

谢谢你的支持。

这里有一个错误:

Communications link failure due to underlying exception:

** BEGIN NESTED EXCEPTION **

Java.net.ConnectException

MESSAGE: Connection refused: connect

STACKTRACE:

Java.net.ConnectException: Connection refused: connect
At.java.net.DualStackPlainSocketImpl.connect0(Native Method)

At java.net.DualStackPlainSocketImpl.socketConnect(Unknown Source)

At java.net.AbstractPlainSocketImpl.doConnect(Unknown Source)

At java.net.AbstractPlainSocketImpl.connectToAddress(Unknown Source)

At java.net.AbstractPlainSocketImpl.connect (Unknown Source)

At java.PlainSocketImpl.connect(Unknown Source)

At java.net.SocksSocketImpl.connect(Unknown Source)

At java.net.Socket.connect(Unknown Source)

At java.net.Socket<init>(Unknown Source)

At com.mysql.jdbc.StandardSocketFactory.connect(StandardSocketFactory.java:256)

At com.mysql.jdbc.MysqllO.<init>(MysqlIIO.java:271)

...
...

...

共有1个答案

红明德
2023-03-14

这是我的简单测试,在Netbean内部和外部都成功了。除了添加了MySQL JDBC驱动程序作为库之外,我使用了一个普通的java(ant)项目。(右键单击项目窗口中的库图标,添加库,并从列表中选择它。)在mysqlcheck包中添加以下单个文件作为MySqlcheck。将localhost更改为您的正确主机,将某人更改为您的用户名,myPasswd,将测试更改为您拥有的某些数据库,将未命名更改为一些对测试有用的小表。由于连接url在本例中是硬编码的,如果您从命令行参数、系统属性或其他可能在Netbean内部和外部不同的东西中获取连接信息,它可能会解决一个问题。

如果它在dist子目录中正确构建,那么它将是您的jar,在它的lib子目录中,它将是mysql-connector-java-5.1.23-bin.jar。如果在dist中移动jar,则始终需要移动lib子目录及其jar。递归地压缩整个dist目录可能是最好的方法。如果移动到其他主机,则需要将localhost字符串更改为实际主机。此外,用户权限和网络设置可能会导致一个问题,管理员可能必须解决这个问题。

也可以从此处克隆该项目:

https://github.com/wshackle/MysqlCheck

要测试,请打开终端并输入:

java-jar dist/yourproject.jar

package mysqlcheck;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.ResultSet;
import java.sql.ResultSetMetaData;
import java.sql.SQLException;

/**
 *
* @author Will Shackleford {@literal <wshackle@gmail.com> }
 */
public class MysqlCheck {
/**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    Connection conn = null;
    try {
        conn
                = DriverManager.getConnection("jdbc:mysql://localhost:3306/test?"
                        + "user=somebody&password=mypasswd");
        ResultSet rs = conn.createStatement().executeQuery("select * from Untitled;");
        ResultSetMetaData meta = rs.getMetaData();
        for (int i = 0; i < meta.getColumnCount(); i++) {
            System.out.println("i = " + i);
            System.out.println("columnName=" + meta.getColumnName(i + 1));
            rs.first();
            do {
                System.out.println("colunmString=" + rs.getString(i + 1));
            } while (rs.next());
        }
        } catch (SQLException ex) {
            // handle any errors
            System.out.println("SQLException: " + ex.getMessage());
            System.out.println("SQLState: " + ex.getSQLState());
            System.out.println("VendorError: " + ex.getErrorCode());
        } catch (Exception ex) {
            // handle any errors
            System.out.println("SQLException: " + ex.getMessage());
        }
    }
}
 类似资料:
  • 问题内容: 我目前正在为大学的一个班级做项目。我正在学习有关连接和操作数据库的信息,我们正在使用Microsoft .accdb文件。 这是我到目前为止所拥有的。 当寻找“ sun.jdbc.odbc.JdbcOdbcDriver”时,我得到以下输出。 似乎很容易解决。看来我想念司机或类似的东西。但是,我很难找到解决方法。JDK随附驱动程序吗?我需要单独下载吗?是否取决于我的操作系统?(Mac O

  • 我的java代码使用com.mongodb.DB的单个实例连接到mongo DB。现在我使用这个db实例跨越500个线程,这些线程对我的db执行命令。所有这些都并行运行。以下是conf参数: 现在,如果我使用“db.serverStatus().connections”检查我的数据库,我会得到以下结果:“current”:52,“available”:19999,“totalCreated”:Nu

  • 我试图理解Datastax Cassandra驱动程序中的连池,因此我可以更好地在我的Web服务中使用它。 我有留档的1.0版。它说: Java驱动程序异步使用连接,因此可以在同一个连接上同时提交多个请求。 他们通过连接理解什么?当连接到集群时,我们有:一个生成器、一个集群和一个会话。他们中的哪一个是连接? 例如,有一个参数: MaxSimultaneousRecestsPerConnection

  • 服务器上的mongodb版本将比驱动程序版本旧。我的java驱动程序版本是3.6,Mongo-版本显示我是2.4 我该怎么解决这个问题?

  • 我有这个文件test.py: 我想使用此python代码从页面获取页面源。我使用的是chrome驱动程序selenium和python。但是当我启动这个脚本时,我遇到了这个错误: 我在互联网上尝试了几乎所有的解决方案,但每次我遇到其他错误时,有人知道我在这种情况下应该怎么做吗?有人建议我如何解决这个问题吗?

  • 这是我在运行上述程序时遇到的错误。有人解决了这个问题吗? 我尝试过改变Selenium和ChromeDriver的版本,但没有任何效果。