这是抛出的异常:javax.servlet.ServletException: javax.servlet.ServletException: org.glassfish.jersey.server.ContainerException: com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Could not create connection to database server.我稍后也会在堆栈跟踪中收到此消息:Caused by: java.lang.RuntimeException: The Google Cloud SQL API is not enabled for project [xxxxxx]. Please use the Google Developers Console to enable it: https://console.cloud.google.com/apis/api/sqladmin/overview?project=xxxxxx当我单击控制台链接时,可以看到 Cloud SQL Api 已启用,并且当数据库位于同一项目中时,代码运行良好。我还添加了 AppEngine 灵活服务帐户,该帐户App Engine flexible environment Service Agent在包含角色为 的 Cloud SQL 数据库的项目中具有角色Cloud SQL Client。接下来我应该尝试什么?谢谢更新pom.xml:-- update2 不再需要那个文件 --
2 回答
HUH函数
TA贡献1836条经验 获得超4个赞
访问不同项目中的 Cloud SQL 实例时,务必在源项目中启用 Cloud SQL Admin API。复制错误消息中的链接并将项目 ID 替换为其他项目 ID。当前消息具有误导性,因为它当前假定实例在同一个项目中。
慕标5832272
TA贡献1966条经验 获得超4个赞
项目间 Cloud SQL 通信需要做两件事:
包含 Cloud SQL 实例的项目必须启用 Cloud SQL Admin API
要访问它的项目必须在包含 Cloud SQL 实例 ( source )的项目上具有适当的 Cloud SQL IAM 角色:
不同项目中的 App Engine 和 Cloud SQL
对于不同项目中的 App Engine 应用程序和 Cloud SQL 实例,您必须授予默认的 appengine 服务帐号(
[PROJECT-ID]@appspot.gserviceaccount.com)
以下 IAM 角色之一:
云 SQL 客户端
Cloud SQL 编辑器
云 SQL 管理员
添加回答
举报
0/150
提交
取消