Java中MySQL临时表的连接字符串

时间:2013-03-05 12:23:29

标签: java mysql

我正在尝试在内存中创建一个临时表,以便在其中存储一些数据并在应用程序生命周期内使用它。

我正在尝试做以下事情:

StringBuilder sb = new StringBuilder();
sb.append("CREATE TEMPORARY TABLE XmlItems ENGINE=MEMORY AS (");
// Continue with columns definitions
sb.append(")");

Class.forName("com.mysql.jdbc.Driver");
Connection conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/");
Statement stat = conn.createStatement();
stat.executeUpdate(sb.toString());

但是抛出了以下异常:

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

我猜它必须对连接字符串做一些事情..

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

您尚未在jdbc连接URL中提供架构名称。在URL末尾添加模式名称后尝试。

jdbc:mysql://localhost:3306/myschema

答案 1 :(得分:0)

检查以确保在这种情况下mysql的数据库已启动/运行,连接String看起来很好,尽管您没有添加要使用的数据库名称而不是"jdbc:mysql://localhost:3306/"使用"jdbc:mysql://localhost:3306/databae_name"

答案 2 :(得分:0)

连接字符串必须包含要连接的数据库模式。

DriverManager.getConnection("jdbc:mysql://localhost:3306/myTestDB");

另外,确保MySQL实际上正在运行。 “通信链路故障”听起来更像是与端口3306的连接被拒绝。