2016-04-17 12 views
2

google cloud sqlを使用してGoogle Cloud Platformアプリケーションをセットアップしていて、私の生活の中でコードを実行するとDBに接続できませんGoogleのサーバー。この例にGoogle Cloud SQL(第2世代)に接続したときの通信リンクのエラー

https://cloud.google.com/appengine/docs/java/cloud-sql/?csw=1 私は、だからそれがすべて良いことだ

Class.forName("com.mysql.jdbc.Driver"); 
url = "jdbc:mysql://<ip-address>:3306/<database>?user=root"; 

適切に構築非生産のURLを得ているし、このURLをクラウドSQLに問題なく接続することができます。これは、私がプロダクト接続のために構築しているURLです。

Class.forName("com.mysql.jdbc.GoogleDriver"); 
url = "jdbc:google:mysql://<project-id>:<cloud sql instance name>/<database>?user=root"; 

私はダッシュボードとインスタンスID SQLインスタンスのリストからプロジェクトIDを持って、データベースが非PROD値として、私はそれは大丈夫

Product and Instance ID locations I pulled them from

だ確信して非のprod動作するので同じです

com.mysql.jdbc.exceptions.jdbc4.CommunicationsException:サーバーに正常に送信された最後のパケットが0ミリ秒前だった通信リンク障害

それをすべてをデプロイした後、私はエラーメッセージが表示されます。ドライバはサーバからパケットを受信して​​いません。

appengine-web.xmlのuse-google-connector-jはtrueに設定されています。第2世代のクラウドSQLでは、クラウドSQLの認証リストにアプリケーションを指定する必要はありません。

すべてのヘルプはあなたがあなたのインスタンスの「インスタンスの詳細」の「インスタンスの接続名」をご覧ください

答えて

2

https://cloud.google.com/sql/docs/dev-access#gaev1-csqlv2-connect

をいただければ幸いです。第2世代の場合、第1世代の場合のように「project-id:cloud-sql-instance-name」ではなく「project-id:region-name:cloud-sql-instance-name」です。

+0

ありがとうございました!解決策としてマークされています – Matt

+0

最新のドキュメントでURLが変更されました。 "jdbc:google:mysql:// $ {INSTANCE_CONNECTION_NAME}/$ {database}?user = $ {user} & password = $ {password}" https://cloud.google.com/appengine/docs/standard/java/cloud-sql/#setting-upを参照してください。 – Ishaan

関連する問題