【问题标题】:How to connect to a google cloud sql instance from AWS elastic beanstalk如何从 AWS 弹性 beantalk 连接到谷歌云 sql 实例
【发布时间】:2017-08-16 14:16:30
【问题描述】:

我正在尝试使用 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 中部署的相同应用程序可以正常工作。

【问题讨论】:

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


【解决方案1】:

来自Connecting to Cloud SQL from External Applications的sn-p JDBC 套接字工厂提供了客户端代理软件的替代方案,并且需要启用 Cloud SQL API,就像代理一样。它使用 Cloud SDK 凭据进行身份验证,因此必须安装 Cloud SDK 并进行身份验证。

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

字符串 jdbcUrl = String.format( "jdbc:mysql://google/%s?cloudSqlInstance=%s&" + "socketFactory=com.google.cloud.sql.mysql.SocketFactory", 数据库名称, 实例连接名称);

Connection connection = DriverManager.getConnection(jdbcUrl, username, password);

【讨论】:

    猜你喜欢
    • 2020-06-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-03
    • 2020-04-02
    • 2020-04-13
    • 1970-01-01
    相关资源
    最近更新 更多