Spring 启动 BigQuery 数据源连接
Spring boot BigQuery datasource connection
我正在尝试使用 Simba jdbc 驱动程序从 Spring 启动连接 BigQuery,但我遇到了以下异常。任何输入表示赞赏。我不确定为什么 spring-boot 正在寻找证书。我可以通过简单的 java main class 进行连接,但是我在 Spring 引导时遇到此错误。
原因:org.springframework.beans.factory.BeanCreationException:创建名称为 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker' 的 bean 时出错:调用 init 方法失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在 class 路径资源 [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();
从您的 JDBC URL 中删除多余的空格,它们似乎干扰了强制性 OAuthPvtKeyPath
、OAuthServiceAcctEmail
参数:
jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=<Your Project ID>;OAuthType=0;OAuthServiceAcctEmail=<Your Email>;OAuthPvtKeyPath=<Path To Cert>;
我正在尝试使用 Simba jdbc 驱动程序从 Spring 启动连接 BigQuery,但我遇到了以下异常。任何输入表示赞赏。我不确定为什么 spring-boot 正在寻找证书。我可以通过简单的 java main class 进行连接,但是我在 Spring 引导时遇到此错误。
原因:org.springframework.beans.factory.BeanCreationException:创建名称为 'org.springframework.boot.autoconfigure.jdbc.DataSourceInitializerInvoker' 的 bean 时出错:调用 init 方法失败;嵌套异常是 org.springframework.beans.factory.BeanCreationException:在 class 路径资源 [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();
从您的 JDBC URL 中删除多余的空格,它们似乎干扰了强制性 OAuthPvtKeyPath
、OAuthServiceAcctEmail
参数:
jdbc:bigquery://https://www.googleapis.com/bigquery/v2:443;ProjectId=<Your Project ID>;OAuthType=0;OAuthServiceAcctEmail=<Your Email>;OAuthPvtKeyPath=<Path To Cert>;