Java Google云SQL-连接到本地数据库时出错-GAE/J
因此,Google Cloud SQL有一个整洁的功能,您应该能够连接到本地DB实例进行本地调试,如下所述: 我有以下VM论点:Java Google云SQL-连接到本地数据库时出错-GAE/J,java,google-app-engine,google-cloud-storage,Java,Google App Engine,Google Cloud Storage,因此,Google Cloud SQL有一个整洁的功能,您应该能够连接到本地DB实例进行本地调试,如下所述: 我有以下VM论点: -Xmx512m -javaagent:C:\eclipse\plugins \com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811\appengine-java-sdk-1.4.2\lib\agent\appengine-agent.jar -Drdbms.server=local -D
-Xmx512m -javaagent:C:\eclipse\plugins \com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v201102111811\appengine-java-sdk-1.4.2\lib\agent\appengine-agent.jar
-Drdbms.server=local
-Drdbms.driver=com.mysql.jdbc.Driver
-Drdbms.url=jdbc:mysql://localhost:3306/testdb?user=root&password=pass
我将msql驱动程序放在C:\eclipse\plugins\com.google.appengine.eclipse.sdkbundle.1.4.2_1.4.2.v20111811\appengine-java-sdk-1.4.2\lib\impl文件夹中,并将其添加到类路径中
但是,当运行一个简单的SELECT查询并且在GAE上部署时运行良好时,它抛出以下异常
java.sql.SQLException: Table not found in statement [SELECT * FROM SOME_TABLE]
下面是有问题的代码片段:
Connection c = null;
try {
DriverManager.registerDriver(new AppEngineDriver());
c = DriverManager.getConnection(MY GOOGLE CLOUD SQL CXN STRING);
PreparedStatement ps = c.prepareStatement("SELECT * FROM SOME_TABLE");
ResultSet rs = ps.executeQuery();
} catch (SQLException e) {
e.printStackTrace();
}
我怀疑它没有意识到它必须在本地连接,我应该检查什么?只需将此标记为已回答:以上由Dave W.Smith提供的解决方案 来自Dave W.Smith的评论:
我不知道这对手头的问题有多重要,但是1.4.2 已经过时了
您确定本地数据库中存在该表吗?当然。我创建了一个简单的java控制台应用程序,并添加了MySQL连接器,我可以毫无问题地运行相同的查询。我不知道这对手头的问题有多重要,但是1.4.2已经过时了。