0

我正在尝试使用 Simba jdbc 驱动程序从 Spring Boot 连接 BigQuery,但我遇到了异常。任何输入表示赞赏。我不确定为什么 spring-boot 正在寻找证书。我能够连接简单的 java 主类,但我只在 Spring 启动时收到此错误。

原因:org.springframework.beans.factory.BeanCreationException:创建名为“org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker”的bean时出错:调用init方法失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在类路径资源 [com/test/demo/services/config/DBConfig.class] 中定义名称为“getDataSource”的 bean 创建时出错:通过工厂方法进行的 bean 实例化失败;嵌套异常是 org.springframework.beans.BeanInstantiationException:无法实例化 [com.simba.googlebigquery.jdbc42.DataSource]:工厂方法“getDataSource”抛出异常;嵌套异常是 java.sql.SQLException:[Simba]BigQueryJDBCDriver HttpTransport IO 错误:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:

DataSource ds = new com.simba.googlebigquery.jdbc42.DataSource();
Connection connection = null;
ds.setURL(
    "jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=project)id;OAuthType=0;OAuthServiceAcctEmail=serviceAccountEmail;OAuthPvtKeyPath=p12CertPath;");

ds.setProjectId("projectId");
// ds.setOAuthType(0);

// connection = ds.getConnection();
connection = ds.getConnection();
4

1 回答 1

0

OAuthPvtKeyPath从您的 JDBC URL 中删除多余的空格,看起来它们干扰了强制OAuthServiceAcctEmail参数:

jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=<Your Project ID>;OAuthType=0;OAuthServiceAcctEmail=<Your Email>;OAuthPvtKeyPath=<Path To Cert>;
于 2021-06-18T19:45:01.117 回答