将DataGrip中的BigQuery与JDBC结合使用

将DataGrip中的BigQuery与JDBC结合使用,jdbc,google-bigquery,datagrip,Jdbc,Google Bigquery,Datagrip,有人能够在JetBrains DataGrip中为BigQuery使用新的JDBC驱动程序吗 我遵循了这些步骤 在DataGrip中创建了一个包含所有jar文件的驱动程序 创建了一个带有服务帐户文件的连接字符串的数据库 连接测试显示成功,但一旦我尝试查询某个内容,就会收到一个错误: java.lang.ClassNotFoundException: com.google.api.client.json.JsonFactory 我已将Simba ZIP中的以下文件添加到DataGrip驱动程序中

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

我遵循了这些步骤

  • 在DataGrip中创建了一个包含所有jar文件的驱动程序
  • 创建了一个带有服务帐户文件的连接字符串的数据库
  • 连接测试显示成功,但一旦我尝试查询某个内容,就会收到一个错误:

    java.lang.ClassNotFoundException: com.google.api.client.json.JsonFactory
    
    我已将Simba ZIP中的以下文件添加到DataGrip驱动程序中:

    • GoogleBigQueryJDBC42.jar
    • jackson-core-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=...;
    

    如果工具中没有正确引用驱动程序JAR文件,则可能会出现此错误。我列出了通过DataGrip连接BigQuery的步骤

    • 通过添加zip中的所有JAR文件来添加新的驱动程序。在此步骤中,应从“类”下拉列表中选择正确的类名
    • 通过选择新创建的BigQueryJDBC驱动程序添加新的数据源。在此步骤中提供正确的连接URL
    • 如果测试连接成功,请为同一数据源创建新查询
    • 确保您的查询使用了正确的格式“dataset.tablename”,并且在刚刚测试的数据源上运行

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

    此视频可参考: 在JetBrains DataGrip中为BigQuery使用新的simba jdbc驱动程序。它涵盖了工作设置的所有步骤

    以下是引用此视频的博客:

    可从以下网址下载驱动程序:

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


    希望这是有帮助的

    “类”下拉列表确实设置不正确。之后,它仍然不起作用,但重新启动DataGrip终于起作用了。现在我可以从DataGrip查询BigQuery了。谢谢你的帮助!