java - 使用 Google 的 Dataflow 时尝试使用 JDBC 到 BigQuery 模板时出现异常

标签 java jdbc salesforce google-cloud-dataflow

我正在尝试使用 Google 的数据流,通过 JDBC 到 BigQuery 模板将信息从 Salesforce 提取到 BigQuery 中。我使用的 JDBC 驱动程序是 Progress' DataDirect JDBC Driver for Salesforce .

我已确认我可以在本地使用驱动程序连接到 Salesforce。

不幸的是,当我使用驱动程序在数据流中创建作业时,出现以下异常:

java.lang.RuntimeException: org.apache.beam.sdk.util.UserCodeException: java.sql.SQLException: Cannot get a connection, pool error Unable to activate object

如果需要,我可以提供堆栈跟踪。

我已按如下方式配置模板(其中 <> 内的值已适当设置):

Regional endpoint: us-central1
JDBC connection URL string: jdbc:datadirect:sforce://path.to.salesforce.com;SecurityToken=<Security Token>;User=<User>;Password=<Password>
JDBC driver class name: com.ddtek.jdbc.sforce.SForceDriver
JDBC source SQL query: SELECT Email FROM LEAD;
BigQuery output table: <project>:<dataset>.<table_name>
GCS paths for JDBC drivers: gs://<some_bucket>/sforce.jar
Temporary directory for BigQuery loading process: gs://<some_bucket>/staging
Temporary location: gs://<some_bucket>/tmp

我希望熟悉此用例的人能够帮助我确定为什么会出现此异常以及如何解决它。我的工作假设是我错误地使用了驱动程序,我需要向 GCS 添加其他驱动程序,或者通过 Dataflow 连接到 Salesforce 时出现问题。

编辑:

我使用的来自 Progress 的 JDBC 驱动程序是版本 6.0。我不确定在使用 UI 时使用的是哪个版本的 Dataflow SDK,但是当我尝试在本地使用 Google Dataflow SDK 时,看起来我正在使用基于 pom.xml 的 2.5.0 版本。

最佳答案

我没有发现 JDBC 和 Dataflow 版本之间存在任何相关问题,因此我建议您查看 Progress 网站上的以下教程,以了解您是否正确使用了驱动程序:

  1. Setting Google Cloud Dataflow SDK
  2. Import data from Salesforce into Google Bigquery using Dataflow

如果异常仍然存在,请按照此 guide 创建 GCP 问题

关于java - 使用 Google 的 Dataflow 时尝试使用 JDBC 到 BigQuery 模板时出现异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60009180/

相关文章:

java - 如何检查用户是否在 JDialogBox 中输入了某些内容?

java - 次要排序:何时进行值排序?

java - jsp文件编译错误 "cannot find symbol: variable a location: class simplyfiedJSPServlet"

java - 如何更新数据库表中的稀疏值?

java - spring.jpa.properties.hibernate.jdbc.time_zone 适用于写入但不适用于读取?

Salesforce - 连接对象是否可以被引用为具有主从关系的其他对象的父对象?

c# - SalesForce 查询方法不返回可用数据

java - 从主类读取数据

java - 使用 Salesforce CRUD 元数据 API 创建自定义对象时出现异常

java - 从 Java 调用 Catalog 过程执行 SSIS 包