谷歌扳手 JDBC 驱动程序连接参数



使用 JDBC 客户端(Squirrel SQL),我们尝试连接到 Spanner 实例。但我们最终遇到了一个问题。

  • 在试验 Spanner 之前,我们尝试通过 mysql JDBC 驱动程序将 AWS aurora mysql DB 与 Squirrel SQL 连接起来。它很成功,我们能够在数据库上运行查询。
  • Cloud spanner JDBC 驱动程序已被 Squirrel SQL 接受,没有任何问题。
  • 即使所有参数都正确馈送到驱动程序,也会出现连接错误。
  • 根据 Sspanner 的 JDBC 文档,host 被指定为"localhost",它将被 squirrel SQL 用作占位符,但 JDBC 会忽略它。
  • 项目 ID、实例名称和数据库名称取自云扳手实例
  • 连接失败并出现 DNS 错误。

没有有用的在线文档解释扳手的JDBC的用法使得很难找出连接问题。

我们关心的是使用"localhost"作为基址。但是文档指示我们这样做。 https://github.com/olavloite/spanner-jdbc/wiki/URL-and-Connection-Properties

我刚刚使用此处找到的教程中的步骤进行了尝试,它有效:http://www.googlecloudspanner.com/2017/10/using-standard-database-tools-with.html

问题可能的原因可能是:

  1. 确保您的 URL 或连接属性实际引用实例和数据库。这两个属性都是必需的。
  2. 请确保提供身份验证密钥,例如使用 URL 或连接属性PvtKeyPath
  3. 确保在 URL(或连接属性)中引用的实例和数据库确实存在。如果引用不存在的实例或数据库,则会收到一个异常,抱怨找不到该实例或数据库(包括指向该实例/数据库的 URL)。

下面是一个工作 URL 的示例:

jdbc:cloudspanner://localhost;Project=test-project-123456;Instance=test-instance;Database=test;PvtKeyPath=/home/loite/CloudSpannerKeys/cloudspanner-key.json

最新更新