Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何修复JDBC中的SQLNonTransientConnectionException_Java_Mysql_Jdbc_Database Connection - Fatal编程技术网

Java 如何修复JDBC中的SQLNonTransientConnectionException

Java 如何修复JDBC中的SQLNonTransientConnectionException,java,mysql,jdbc,database-connection,Java,Mysql,Jdbc,Database Connection,我正试图通过Wamp将我的java程序连接到MySql数据库,我得到的只是大量的SQL异常 我尝试了Stackoverflow上几乎所有的问题或疑问或答案,但没有一个答案解决了我的问题 也许我的问题会被标记为重复,但我不知道为什么其他答案中提到的解决方案对我不起作用,尽管我得到了上百张选票 这是我的密码 import java.sql.*; public class SQLTest{ private static Connection connect = null; publi

我正试图通过Wamp将我的java程序连接到MySql数据库,我得到的只是大量的SQL异常

我尝试了Stackoverflow上几乎所有的问题或疑问或答案,但没有一个答案解决了我的问题

也许我的问题会被标记为重复,但我不知道为什么其他答案中提到的解决方案对我不起作用,尽管我得到了上百张选票

这是我的密码

import java.sql.*;

public class SQLTest{
    private static Connection connect = null;
    public static void main(String[] args) {
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
            System.out.println("Trying to Establish Database Connection.....");
            //connect = DriverManager.getConnection("jdbc:mysql://localhost:8080/sys?user=root&password=root&useUnicode=true&characterEncoding=UTF-8&autoReconnect=true");
            connect = DriverManager.getConnection("jdbc:mysql://localhost:8080/sys", "root", "root");
            System.out.println("Connection Established.");
        } catch (SQLException se) {
            System.out.println("connection problem");
            se.printStackTrace();
        } catch (Exception e){
            System.out.println("Some Other Problem.");
            e.printStackTrace();
        }
    }
}
这是我得到的回报

httpd.conf文件中的默认端口设置为8080。我不知道3306是怎么工作的

WAMP堆栈由四个组件组成:Windows、Apache、MySQL和PHP

Apache是接收HTTP请求并返回网页的服务器软件
httpd.conf
是它的配置文件。Apache的默认端口是80,但WAMP堆栈通常使用不同的端口,如8080,用于开发目的


MySQL是接收SQL查询并返回这些查询结果的组件。它在与Apache不同的端口上侦听。MySQL的配置文件是
my.ini
。MySQL的默认端口是3306。

在您的问题中包括整个stacktrace。单是异常名称是毫无用处的。您的MySQL服务器可能没有侦听端口8080。这可能是Apache(web服务器)正在侦听的端口。请尝试连接到端口3306。@GordThompson非常感谢它的工作。httpd.conf文件中的默认端口设置为8080。我不知道3306是怎么工作的。虽然不需要,但如果有人能解释为什么这会起作用,那就太好了。如果你问为什么是3306,答案是这只是惯例。MySQL通过端口3306,Postgre是5432,等等。为了解释为什么交换端口解决了您的问题,请将数据视为邮件发送到错误的地址。您确定了地址,您的信件现在正到达正确的目的地:)