如何从AWS弹性beanstalk连接到Google云sql实例

时间:2017-08-16 14:16:30

标签: java elastic-beanstalk google-cloud-sql

我正在尝试使用JDBC方法从部署在AWS Elasic Beanstalk(使用Eclipse)上的Java Web应用程序连接到位于Google Cloud SQL中的某个数据库。

String url = ConfigUtilities.getProperty("DATABASE_CONNN_URL_" + mode);
conn = DriverManager.getConnection(url, ConfigUtilities.getProperty("USERNAME_DB_" + mode),
                ConfigUtilities.getProperty("PASSWORD_DB_" + mode));

网址看起来像这样

DATABASE_CONNN_URL_PRODUCTION=jdbc:google:mysql://project-name:europe-west1:instance-name/db-name

我附加了以下jar:mysql-connector-java-6.0.6.jar(位于WEB-INF下的lib文件夹中)。

我收到以下错误

No suitable driver found for jdbc:google:mysql://project-name:europe-west1:instance-name/db-name

App Engine中部署的相同应用程序正常运行。

1 个答案:

答案 0 :(得分:0)

来自Connecting to Cloud SQL from External Applications

摘录 JDBC套接字工厂提供了客户端代理软件的替代方案,需要启用Cloud SQL API ,就像代理一样。它使用Cloud SDK凭据进行身份验证,因此必须安装 Cloud SDK并进行身份验证。

examples / compute-engine / src / main / java / com / google / cloud / sql / mysql / example / ListTables.java

  

String jdbcUrl = String.format(          “JDBC:MySQL的://谷歌/%S cloudSqlInstance =%S&安培;?”               +“socketFactory = com.google.cloud.sql.mysql.SocketFactory”,            数据库名称,           instanceConnectionName);

连接连接= DriverManager.getConnection(jdbcUrl,用户名,密码);