没有数据库选择GAE

时间:2014-11-04 16:50:45

标签: java mysql google-app-engine google-cloud-sql

我在使用cloudSQL,当我将网站部署到生产环境中时,我一直收到“没有选择数据库”的错误。

我上传到cloudsql的转储有一行“USE mydb”我必须在每次查询工作时使用“使用mydb”进行数据库调用。

任何人都知道为什么?或者如何解决它

java.sql.SQLException: No database selected
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2739)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2149)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2313) 

1 个答案:

答案 0 :(得分:2)

将数据库设置为jdbc连接字符串的一部分,如jdbc:google:mysql://your-project-id:your-instance-name/YOUR_DATABASE_NAME,或使用Connection.setCatalog()切换到该字符串。正如MySQL Docs所述,您不能通过JDBC使用USE db语法与MySQL。