Connection不会抛出错误但也不会成功

时间:2018-02-27 15:21:28

标签: java jdbc aws-lambda

我目前正在尝试从lambda函数连接到亚马逊RDS。我面临的问题是我没有收到错误,但我没有设法获得连接,所以我不知道如何继续。我没有超时或参数错误,但对象“con”始终为空。

要做到这一点,我正在做以下事情:

Connection con = null;
String jdbcUrl2 = "jdbc:mysql://" + "connectionValueExample-zone.rds.amazonaws.com" + ":" + "3306" + "/" + "botdb" + "?user=" + "bot" + "&password=" + "PWvalueExample";
con = DriverManager.getConnection(jdbcUrl2);

每一步之后我都会用print()检查它是怎么回事。在我尝试建立连接之后,我尝试捕获它,因为虽然我现在没有得到异常,但是对象con永远不会停止为null,所以我不会建立连接。

catch (SQLException e) { 
        e.toString();
        log.warn(e.toString());
    }catch (Exception e) {
        System.out.println("excepcion no capturada ");
        e.toString();               
    }

第二个问题是万一我错过了一些东西,原来它不存在。

总而言之,代码看起来像:

@Override
public String handleRequest(Object input, Context context) {
    context.getLogger().log("Input: " + input);
Connection con = null;
    try {
        String jdbcUrl2 = "jdbc:mysql://" + "value-zone.rds.amazonaws.com" + ":" + "3306" + "/" + "botdb" + "?user=" + "bot" + "&password=" + "PW";
        con = DriverManager.getConnection(jdbcUrl2);
    }
    catch (SQLException e) { 
        e.toString();
        log.warn(e.toString());
    }catch (Exception e) {
        System.out.println("excepcion no capturada ");
        e.toString();               
    }
    String status = null;
    if (con != null) {
        status = "conexion establecida";
        System.out.println("connection stablished");
    }else status = "connection failed";
    return status; 
}

编辑:

我现在正在更好地捕获异常并获得以下消息:

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通讯链接失败

成功发送到服务器的最后一个数据包是0毫秒前。驱动程序未收到来自服务器的任何数据包。

此时我不确定Strin jdbcURL是否未正确形成或者为什么连接失败。

0 个答案:

没有答案