1

有没有人能够在 JetBrains DataGrip 中为 BigQuery 使用新的 JDBC 驱动程序?

我已经按照这些步骤

  1. 使用所有 jar 文件在 DataGrip 中创建驱动程序
  2. 使用服务帐户文件创建了一个带有连接字符串的数据库

连接测试显示成功,但是一旦我尝试查询某些内容,就会收到错误消息:

java.lang.ClassNotFoundException: com.google.api.client.json.JsonFactory

我已将 Simba ZIP 中的以下文件添加到 DataGrip 驱动程序中:

  • GoogleBigQueryJDBC42.jar
  • 杰克逊核心2.1.3.jar
  • google-api-client-1.22.0.jar
  • google-api-services-bigquery-v2-rev320-1.22.0.jar
  • google-http-client-1.22.0.jar
  • google-http-client-jackson2-1.22.0.jar
  • google-oauth-client-1.22.0.jar

所以我不确定下一步该怎么做。我尝试在 DataGrip 中更改他们的顺序,但似乎并没有什么不同。

我认为我的连接字符串看起来也不错:

jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=...;OAuthType=0;OAuthPvtKeyPath=...;OAuthServiceAcctEmail=...;
4

3 回答 3

2

当工具中未正确引用驱动程序 JAR 文件时,您可能会收到此错误。我列出了通过 DataGrip 连接到 BigQuery 的步骤。

  • 通过添加 zip 中的所有 JAR 文件来添加新驱动程序。在此步骤中,应从“类”下拉列表中选择正确的类名称。
  • 通过选择新创建的 BigQuery JDBC 驱动程序来添加新数据源。在此步骤中提供正确的连接 URL。
  • 如果测试连接成功,则为同一数据源创建一个新查询。
  • 确保您的查询使用正确的格式“dataset.tablename”并且在您刚刚测试的数据源上运行。
于 2016-11-10T20:57:21.823 回答
1

对我来说,用 Json 替换 P12 是可行的。但是,由于各种查询/不兼容问题,无法使用 DataGrip 或一般 JDBC 访问 BigQuery。

于 2018-01-29T06:23:14.190 回答
0

可以参考此视频:https ://www.youtube.com/watch?v=r9l2c_aQPoQ&ab_channel= JetBrainsTV 在 JetBrains DataGrip 中为 BigQuery 使用新的 simba jdbc 驱动程序。它一一涵盖了工作设置的所有步骤。

这是引用此视频的博客:https ://blog.jetbrains.com/datagrip/2018/07/10/using-bigquery-from-intellij-based-ide/

驱动程序可以在以下网址下载:https ://cloud.google.com/bigquery/providers/simba-drivers

注意:确保通过博客上的评论进行身份验证,而不在 gcp 上创建服务帐户。

希望这有帮助!

于 2021-02-12T22:42:11.030 回答