Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.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/0/asp.net-mvc/16.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
Eclipse 连接到学院服务器时出现JDBC连接问题_Eclipse_Jdbc - Fatal编程技术网

Eclipse 连接到学院服务器时出现JDBC连接问题

Eclipse 连接到学院服务器时出现JDBC连接问题,eclipse,jdbc,Eclipse,Jdbc,我已尝试从工作场所连接到学院服务器并收到响应: Connection Failed! Check output console 我的代码: public JDBCBasicExample() { // TODO Auto-generated constructor stub } public static void main(String[] argv) { System.out.println("-------- MySQL JDBC Co

我已尝试从工作场所连接到学院服务器并收到响应:

Connection Failed! Check output console 
我的代码:

public JDBCBasicExample() {
        // TODO Auto-generated constructor stub
    }
    public static void main(String[] argv) {

        System.out.println("-------- MySQL JDBC Connection Testing ------------");

        try {
            Class.forName("com.mysql.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            System.out.println("Where is your MySQL JDBC Driver?");
            e.printStackTrace();
            return;
        }

        System.out.println("MySQL JDBC Driver Registered!");
        Connection connection = null;

        try {
            connection = DriverManager
            .getConnection("jdbc:mysql://collegeservername:portnumber/databasenameinserver",
              "username","password");

        } catch (SQLException e) {
            System.out.println("Connection Failed! Check output console");
            e.printStackTrace();
            return;
        }

        if (connection != null) {
            System.out.println("You made it, take control your database now!");
        } else {
            System.out.println("Failed to make connection!");
        }
      }
我得到以下错误:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure

The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server.
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:411)
    at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:675)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1086)
    at com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2486)
    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(Unknown Source)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
    at java.lang.reflect.Constructor.newInstance(Unknown Source)
    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(Unknown Source)
    at java.sql.DriverManager.getConnection(Unknown Source)
    at testingdatabase.JDBCBasicExample.main(JDBCBasicExample.java:29)
Caused by: java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly l`enter code here`ost.
    at com.mysql.jdbc.MysqlIO.readFully(MysqlIO.java:3119)
    at com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:599)
    ... 16 more
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障
成功发送到服务器的最后一个数据包是0毫秒前的。驱动程序尚未从服务器收到任何数据包。
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:411)
位于com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:1121)
位于com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:675)
位于com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1086)
位于com.mysql.jdbc.ConnectionImpl.coreConnect(ConnectionImpl.java:2486)
位于com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2519)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2304)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:834)
位于com.mysql.jdbc.JDBC4Connection(JDBC4Connection.java:47)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(未知源)
位于sun.reflect.delegatingConstructor或AccessorImpl.newInstance(未知源)
位于java.lang.reflect.Constructor.newInstance(未知源)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:411)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:416)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:346)
位于java.sql.DriverManager.getConnection(未知源)
位于java.sql.DriverManager.getConnection(未知源)
位于testingdatabase.jdbbasicexample.main(jdbbasicexample.java:29)
原因:java.io.EOFException:无法从服务器读取响应。预期读取4个字节,在连接意外断开之前读取0个字节l`enter code here`ost。
在com.mysql.jdbc.MysqlIO.readFully上(MysqlIO.java:3119)
位于com.mysql.jdbc.MysqlIO.readPacket(MysqlIO.java:599)
... 还有16个
有人能帮我解决这个问题吗?我是新手,尝试过很多其他方法,比如用ip地址替换collegeservername:portnumber,尽管不起作用。我也尝试过使用其他远程地址和端口名,但没有成功。请给我您的建议。

连接失败简单检查表:
  • 你的网络工作正常
  • 您的大学服务器中是否有防火墙阻止或允许来自一组IP地址的连接
  • 数据库服务器的地址和端口是否正确??检查以确保外部IP实际上在内部可用
  • mysql服务启动了吗??(检查系统服务列表和tcp侦听列表,mysql是否侦听连接??)
  • 你能从你的工作区通过mysql外壳登录你的数据库吗??(打开终端,输入mysql-h your_database\u host-u your_username-p登录)
  • 数据库是否允许远程访问??(检查databaes服务器中的my.cnf文件并删除行
    bind address=127.0.0.1

  • 您好,该错误意味着它无法与数据库或数据库服务器通信。数据库服务器是否有只允许来自某一组IP地址的连接的防火墙?您确定数据库正在运行吗?您确定使用的端口正确吗?所有这三个问题都是产生这种错误的常见原因。我首先从执行代码的机器上执行telnet。执行“telnet服务器URL端口号”。我能够连接到存在端口问题的服务器