【问题标题】:How to connect to google cloud sql instance from eclipse using App Engine?如何使用 App Engine 从 Eclipse 连接到谷歌云 sql 实例?
【发布时间】:2015-02-18 10:58:46
【问题描述】:

我正在尝试在我的应用引擎连接的 android 项目中从 eclipse 连接到谷歌云 sql 实例。 到目前为止,我能够使用 Class.forname("com.mysql.jdbc.Driver") 连接到云 sql 实例。但每次我想使用实例时,它都需要在谷歌云 sql 中授权我的 IP 地址,因此不可行。 我知道从应用程序引擎连接时,我不需要授权我的 IP 地址。 Bur 为此,我必须使用 GoogleDriver 即。 Class.forname("com.mysql.jdbc.GoogleDriver")。 但是当我运行我的代码时,它给了我 ClassNotFoundException。

我在这种情况下被困了很长时间。请给我一个适当的解决方案

【问题讨论】:

  • 我们需要一些代码或其他东西来帮助您。我的理论是,如果在您部署项目时发生这种情况,那么您的“com.mysql.jdbc.GoogleDriver”可能没有与您的应用程序正确打包?该类在您的项目结构中的什么位置?
  • 实际上我将这段代码放在 MainActivity 下的异步任务下:但不知何故我觉得这不是放置这段代码的合适位置:... Class.forName("com.mysql.jdbc .GoogleDriver");
  • 我也没有在 mysql-connector-java-5.1.34-bin.jar 中看到 GoogleDriver 类...只有驱动程序类可用...
  • 所以这很可能是您的问题。在您的 PC 上查找课程的位置,并确保在部署时将其添加到您的包装中?
  • 是 com.mysql.jdbc.GoogleDriver 类与 com.mysql.jdbc.Driver 相同...我还需要确保我必须输入以下代码:“Class.forname(”com .mysql.jdbc.GoogleDriver")" 在我的客户端应用程序的 MainActivity 中还是在生成的 AppEngine 应用程序中的某个位置?...

标签: mysql google-app-engine google-cloud-sql google-plugin-eclipse


【解决方案1】:

GoogleDriver 仅适用于在 App Engine 上实际运行时使用。当从 eclipse 或 dev_appserver 运行时,您必须使用股票 com.mysql.jdbc.Driver 类,并且您必须授权您的 IP 地址。 documentation 中显示了一个很好的例子,它演示了如何在代码中选择要使用的驱动程序。请注意用于从您的开发环境连接到 Cloud SQL 的注释行。

仅供参考,不要忘记enable the connector 在 App Engine 上运行。

【讨论】:

  • 我的电脑或手机的IP地址总是在变化...因此我必须首先找到我当时的IP地址然后授权该IP地址使用云SQL实例...我认为这不适合我的目的......
【解决方案2】:

我已在我的云实例中授权 0.0.0.0/0 进行访问控制,现在所有设备都能够使用库存 mysql 驱动程序连接到云实例,即。 com.mysql.jdbc.Driver 无需在访问控制中一次又一次地更改授权网络。

仍然无法实现 GoogleDriver,但目前该解决方案可以使用。 如果有人找到更好、更通用的方式连接到云实例,请发布您的答案。

【讨论】:

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