MissFortune 2017-04-15 09:54 采纳率: 50%
浏览 872

java bae mysql连接一直不成功 应该怎么连接?

百度bae的免费mysql数据库,java连接时一直报错:Protocol Packet Invalid(包非法)。
自己在项目里添加了一个mysql驱动,版本5.1.20;
尝试许久都没成功,请教各位大大应该怎么连接?
谢谢啦!!!!!!!!!^_^

以下是我使用的连接代码:
public class JdbcUtil {
private static String dbUrl = "jdbc:mysql://";
public static String port="";
public static String host="";
public static String username="";
public static String password="";
public static String databaseName = "HBxAWlyvCohiFPjHjsKx";

private JdbcUtil() {

}

static {
    try {
        Class.forName("com.mysql.jdbc.Driver");
    } catch (ClassNotFoundException e) {
        e.printStackTrace();
    }catch(Exception  e1){
        e1.printStackTrace();
    }
}

public static Connection getConnection() throws SQLException {
    // 从InitFilter类获取失败,手动填写参数
    if (host==null) {
        host="sqld.duapp.com";
        port="4050";
        username="XXXX";
        password="XXXX";
    }
    String conName = dbUrl + host + ":" + port + "/" + databaseName;
    return DriverManager.getConnection(conName,username,password);
}

拦截请求获取连接参数:
public class InitFilter implements Filter {

@Override
public void destroy() {
    // TODO Auto-generated method stub

}

@Override
public void doFilter(ServletRequest req, ServletResponse resp,
        FilterChain chain) throws IOException, ServletException {
     HttpServletRequest request = (HttpServletRequest)req;
     JdbcUtil.host = request.getHeader("BAE_ENV_ADDR_SQL_IP");
     JdbcUtil.port =request.getHeader("BAE_ENV_ADDR_SQL_PORT");
     JdbcUtil.username = request.getHeader("BAE_ENV_AK");
     JdbcUtil.password = request.getHeader("BAE_ENV_SK");
     chain.doFilter(request, resp);

}

@Override
public void init(FilterConfig arg0) throws ServletException {
}

}

  • 写回答

1条回答 默认 最新

  • devmiao 2017-04-15 10:17
    关注
    评论

报告相同问题?

悬赏问题

  • ¥15 delta降尺度计算的一些细节,有偿
  • ¥15 Arduino红外遥控代码有问题
  • ¥15 数值计算离散正交多项式
  • ¥30 数值计算均差系数编程
  • ¥15 redis-full-check比较 两个集群的数据出错
  • ¥15 Matlab编程问题
  • ¥15 训练的多模态特征融合模型准确度很低怎么办
  • ¥15 kylin启动报错log4j类冲突
  • ¥15 超声波模块测距控制点灯,灯的闪烁很不稳定,经过调试发现测的距离偏大
  • ¥15 import arcpy出现importing _arcgisscripting 找不到相关程序