我正在尝试使用 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();