从另一个项目ID访问现有的Cloud SQL实例

use*_*192 1 google-app-engine google-cloud-sql

我已经在PHP项目中创建了一个云SQL实例,并成功完成了计费程序。该项目有效。

现在,我想从另一个项目访问数据库,但是这次是在带有servlet的Java SDK项目中。使用https://developers.google.com/appengine/ docs / java / cloud-sql /中的示例

在Java项目中,我有:

项目编号:javaProjectID

在php项目ID中,我有:项目ID:phptestID实例名称:phpinstanceName

数据库:dbname

在我的Servlet代码中,执行以下连接:

String url = "jdbc:google:mysql://phptestID:phpinstanceName/dbname?user=root";
Connection conn = (Connection) DriverManager.getConnection(url);
Run Code Online (Sandbox Code Playgroud)

(... >>此时连接失败,无法访问数据库以进行以下查询)

String sqlStmt = "SELECT * FROM  sometable";
PreparedStatement  stmt = conn.prepareStatement(sqlStmt);
ResultSetres = stmt.executeQuery(sqlStmt);
Run Code Online (Sandbox Code Playgroud)

如何在另一个项目中访问数据库?除了your-project-id:your-instance-name以外,还有其他方法吗?

Ian*_*GSY 5

您将需要授予新的App Engine应用访问您的CloudSQL实例的权限。为此,请转到控制台中的Cloud SQL实例,对其进行编辑,然后转到“ 授权的App Engine应用程序”,然后添加新App Engine应用程序的应用程序ID。

更新:

最新步骤如下图所示 屏幕截图

  • IanGSY,这仍然是一个有效的解决方案吗?因为我无法在 SQL 实例控制台中找到*授权的 App Engine 应用程序* (2认同)