Talend 的 tOracleInput 不读取数据

Talend's tOracleInput does not read data

我的同事在 Talend 中创建了一个项目来从 Oracle 数据库中读取数据。 我使用了他的项目,所以我有他的作业上下文和 Oracle DB 的连接参数,Talend 成功连接到那台计算机上。

我创建了一个简单的作业,它由两个部分组成:tOracleInput 应该读取数据,tLogRow 应该将输出重定向到 Talend 的终端。

问题是,当我开始作业时 - 数据未输出到终端,我看到的不是每秒输出的行数,而是 Starting ... 状态。

会不会是连接问题、我电脑上的 java 版本不合适或其他问题?

Starting...状态表示查询正在执行中。通常对数据库执行一个简单的查询需要几秒钟。这是因为 Oracle 数据库的行为是它在未完成完整 table 扫描的情况下就开始 return 数据。要使用此功能,您可以使用联接和过滤器,但不能使用 group by / order by.

另一方面,如果您正在使用视图或执行复杂查询,或者只是简单地使用 DISTINCT,查询执行可能需要几分钟时间。这是因为 oracle 数据库在 returning 记录之前在数据库端生成 ResultSet