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

ConnectException:连接超时:连接到远程数据库时出现连接错误

习和通
2023-03-14

我目前正试图找到一个替代我的android应用程序后端。目前,我使用php servlets查询Mysql数据库。数据库(Mysql)托管在我学院的一台计算机上,所以我不能更改任何配置,因为我不是管理员。我只能编辑自己的表。

我试图使用以下代码创建一个java RESTful服务器:

public Connection Get_Connection() throws Exception
{
    try
    {
        int lport=31415;
        String rhost="server01.pairg.dimap.ufrn.br";
        String host="server01.pairg.dimap.ufrn.br";
        int rport=2222;
        String user="sumosensei";
        String password="123456";
        String dbuserName = "sumosensei";
        String dbpassword = "123456";
        String url = "jdbc:mysql://server01.pairg.dimap.ufrn.br:2222/pairg_sumosensei_app";

        String driverName="com.mysql.jdbc.Driver";
        Connection conn = null;
        Session session= null;
        java.util.Properties config = new java.util.Properties(); 
        config.put("StrictHostKeyChecking", "no");
        JSch jsch = new JSch();
        session=jsch.getSession(user, host, 22);
        session.setPassword(password);
        session.setConfig(config);
        System.out.println(rhost+":"+rport);
        System.out.println("Port Forwarded");
        session.connect(30000);
        System.out.println("Connected");
        int assinged_port=session.setPortForwardingL(lport, rhost, rport);
        System.out.println(assinged_port+" -> "+rhost+":"+rport);
        System.out.println("Port Forwarded");

        //mysql database connectivity
        Class.forName("com.mysql.jdbc.Driver");
        conn = DriverManager.getConnection(url, dbuserName, dbpassword);
        System.out.println ("Database connection established");
        System.out.println("DONE");
        /*System.out.println("estabelecendo conexão com o BD...");
        String connectionURL = "jdbc:mysql://server01.pairg.dimap.ufrn.br:2222/pairg_sumosensei_app";
        Connection connection = null;
        Class.forName("com.mysql.jdbc.Driver").newInstance();
        connection = DriverManager.getConnection(connectionURL, "sumosensei", "123456");
        System.out.println("estabelecida conexão com o BD!");*/
        return conn;
    }
    catch (SQLException e)
    {
        e.printStackTrace();
        throw e;    
    }
    catch (Exception e)
    {
        e.printStackTrace();
        throw e;    
    }


}

共有1个答案

狄睿
2023-03-14

尝试从宿主PHP servlet的系统ping DB IP,您似乎没有连接到目标系统。第二次检查telnet端口,检查是否可以在mysql端口上连接到目标系统。希望这能有所帮助。

 类似资料:
  • 我正在尝试使用spring ldap 1.3.1连接到windows server 2008上的ldap active directory。发布和ldap配置如下所示: ldap url是:ldap://dc.fabrikam.com 用户名:管理员 密码:123456 -Springldap配置如下: > LDAPContactDAO: -在异常之前调试: 尝试使用getAllContactNa

  • 我看到了很多“java.net.ConnectException:Connection Relection”问题,但没有一个问题提到此错误的超时。我的问题是,我必须连接到一个服务器,在某些情况下,是阻塞的(由另一个软件连接到同一个端口)。所以,我正在做一个循环,用一些最大的重试来尝试连接: 我当前的代码(当然,依赖于我的软件的许多配置,但运行良好): null Linux: 2019-12-05

  • PSQL:无法连接到服务器:连接被拒绝服务器是否在主机“”上运行并接受端口5432上的TCP/IP连接? Postgres安装版本为9.4。 主机操作系统:Ubuntu 15.04 客户端操作系统:Centos 7 我已经尝试了以下方法,但问题仍未解决: null

  • 我是php的初学者,对于一个项目,我想把我和数据库连接起来,但问题是: 我需要4个变量: 当我这样做时: 有两个错误: 警告:mysqli::mysqli():php_network_getaddress:getaddrinfo失败:第21行/home/ubuntu/workspace/index.php中的名称或服务未知 而且 警告:mysqli::mysqli():(HY000/2002):p

  • 查询数据库时出错。原因:org.springframework.JDBC.canNotgetJDBCConnectionException:未能获得JDBC连接;嵌套异常是java.sql.sqlexception:对文件“d:companydbprodatafile.fdb”进行“createFile(open)”操作时发生I/O错误;试图打开文件时出错;[SQLSTATE:08001,ISC错

  • 我已经做了所有的尝试,但都不起作用,这是我的问题,我试图将一些文件从一台机器发送到另一台机器,想法是在目标机器上创建一个servlet,在服务器上运行它,并等待任何客户机连接,客户机和servlet代码在lan网络类型中完美地工作,但当涉及到wan网络类型时,我得到了这个例外 线程“main”org.apache.http.conn.HTTPhostConnectException:连接到192.