Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Accessing existing cloud SQL instance from another project ID

I have created a cloud sql instance in a PHP project and have made the billing procedure successfully. The project works.

Now, I want to access my database from another project but this time in Java SDK project with servlets. Using the example in https://developers.google.com/appengine/ docs/java/cloud-sql/

In Java project I have:

project id: javaProjectID

In php project id I have: project id: phptestID instance name: phpinstanceName

database: dbname

In my code in Servlet i do the below connection:

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

(...>> The connection fails in this point and doesn't access the database to make the below query )

String sqlStmt = "SELECT * FROM  sometable";
PreparedStatement  stmt = conn.prepareStatement(sqlStmt);
ResultSetres = stmt.executeQuery(sqlStmt);

How can I access my database in another project?? Is there any other way except your-project-id:your-instance-name???

like image 804
user3612192 Avatar asked Dec 11 '22 06:12

user3612192


1 Answers

You will need to give the new app engine app access to your CloudSQL instance. To do this go to the Cloud SQL instance in the console, edit it, go down to Authorized App Engine Applications and then add the app id of the new App Engine app.

UPDATE:

The most recent steps look like in the attached screenshot below screenshot

like image 188
IanGSY Avatar answered Mar 08 '23 06:03

IanGSY