0

我创建了一个测试云扳手实例,并且数据库一直在尝试通过 DBVisualizer 连接到它。

我已经使用 gcloud auth 命令进行了身份验证,并在 DBVisualizer 中设置了驱动程序。

我正在使用的连接字符串是:

jdbc:cloudspanner://;Project=testapp;Instance=test-instance;Database=test-spanner;PvtKeyPath=/Users/userhome/.config/gcloud/application_default_credentials.json

但是,当我尝试连接时,出现以下错误:

[Simba][SpannerJDBCDriver](100004) Failed to connect to Spanner: No NameResolverProviders found via ServiceLoader, including for DNS. This is probably due to a broken build. If using ProGuard, check your configuration

无论如何可以从 DB 管理工具(例如 DB Visualizer)获得连接吗?

4

3 回答 3

1

我至少在 MacOS 上找到了解决方案。将 CloudSpannerJDBC42.jar 和 google-cloud-spanner-0.9.4-beta.jar 复制到 DBvisualizers lib 文件夹。在 MacOS 的情况下,位置是:

/Applications/DbVisualizer.app/Contents/java/app/lib

重新启动 DBVisualizer,然后您就可以连接了。

于 2017-03-20T13:32:28.807 回答
0

我在使用 Google 提供的驱动程序时遇到了类似的问题,所以我决定开发自己的驱动程序。驱动程序有“瘦”版本和“胖”版本。精简版旨在作为依赖项包含在您自己开发的 Java 应用程序中。厚版本可用于独立用途,例如此类连接。厚版本(和其他)可以在这里找到:https ://github.com/olavloite/spanner-jdbc/releases

有关整个驱动程序的更多信息可以在我的 GitHub 页面上找到。

该驱动程序可以与 DBVisualizer 一起使用。请按照以下步骤进行设置:

  1. 下载驱动程序并将其放在您的 JRE/lib/ext 目录中(这是必要的,因为底层 Google Cloudspanner API 会动态加载服务)。确保将它放在您实际与 DBVisualizer 一起使用的 JRE 的 lib/ext 目录中。
  2. 打开 DBVisualizer 并打开驱动程序管理器。单击创建新驱动程序。
  3. 将其命名为 Cloudspanner
  4. URL 格式为 jdbc:cloudspanner://localhost;Project=projectId;Instance=instanceId;Database=databaseName;PvtKeyPath=key_file
  5. 自动选择驱动程序类。
  6. 关闭驱动程序管理器并使用新驱动程序建立新连接。
于 2017-03-18T06:44:42.847 回答
0

我认为 DBVisualizer 目前不支持 Cloud Spanner。查看他们的文档:https ://www.dbvis.com/features/

由于该产品在公开场合仍然很新,我们希望在接下来的几个月中看到更多的第三方支持。

于 2017-03-17T20:09:31.637 回答