Java 从另一个项目连接gcloud SQL
我在一个gcloud项目(a)中有一个数据库(googlecloudsql),我需要从另一个gcloud项目(B)读/写它。我的问题是项目B无法对项目A上的数据库执行这些操作。我认为这是一个特权问题 我在官方文档()中发现了这一点: 1) 授予应用程序访问权限: 转到Google云平台中的“云SQL实例”页面。 安慰单击实例名称以打开其概述页面。挑选 访问控制>授权。在授权的应用程序引擎中 应用程序部分,单击添加应用程序ID并输入 应用程序ID。单击“完成”退出编辑模式。单击“保存”以更新 例如 2) 更新您的应用程序: 转到Google云平台中的“云SQL实例”页面 安慰单击实例名称以打开其概述页面。抄袭 属性中的实例连接名称。使用以下命令 应用程序中的连接字符串: /cloudsql/Java 从另一个项目连接gcloud SQL,java,google-cloud-sql,Java,Google Cloud Sql,我在一个gcloud项目(a)中有一个数据库(googlecloudsql),我需要从另一个gcloud项目(B)读/写它。我的问题是项目B无法对项目A上的数据库执行这些操作。我认为这是一个特权问题 我在官方文档()中发现了这一点: 1) 授予应用程序访问权限: 转到Google云平台中的“云SQL实例”页面。 安慰单击实例名称以打开其概述页面。挑选 访问控制>授权。在授权的应用程序引擎中 应用程序部分,单击添加应用程序ID并输入 应用程序ID。单击“完成”退出编辑模式。单击“保存”以更新 例如
Connection conn = DriverManager.getConnection(System.getProperty("ae-cloudsql.cloudsql-database-url"));
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:通信链路故障。成功发送到服务器的最后一个数据包是0毫秒前的。驱动程序尚未从服务器收到任何数据包
创建此连接的线路代码为:
Connection conn = DriverManager.getConnection(System.getProperty("ae-cloudsql.cloudsql-database-url"));
非常感谢。“但是,它不起作用”:您能否添加有关所看到错误的更多详细信息?你的截图不是英文的。我怀疑有一个英文图片可以帮助更多的人看一看。对不起,图片是固定的。另外,我在实例的“授权”选项卡中创建连接时添加了错误和代码,您是否尝试添加“授权网络”0.0.0.0以查看是否有帮助?不过要小心,我认为这会使您的实例对internet完全开放。。。但是,如果您的实例中没有什么特殊的东西,而且只是临时的,那么它可能有助于调试。如果它开始工作,那么可能只是从另一个项目中获取正确的网络IP范围并在那里进行授权的问题。我已经尝试了0.0.0.0和正确的IP,但都不起作用。现在,我已经将一些数据复制到项目a的一个新数据库中。不过,我将继续尝试解决这个问题。