I have an Oracle database table with over 160M rows I want to dump to a delimited file.
When the tOracleInput advanced settings are set to Use cursor size 1,000,000 the jobs runs fine.
If I increase the cursor size to 1,500,000 or 2,000,000 the job fails with:
java.sql.SQLException: Protocol violation' error in tOracleInput component
1. Is the cursor size limited by a config on the Oracle database?
2. Is there a max cursor size limit expected by the tOracleInput component?
Protocol violation itself is normally caused by the Oracle driver.
Can you please clarify in which Talend version/edition you are? Are you using ojdbc7 for Oracle 12C database?
Using JDBC ( orai18n.jar )
Talend version: Version: 7.0.1
Oracle Database 12c Enterprise Edition Release 22.214.171.124.0 - 64bit Production
PL/SQL Release 126.96.36.199.0 - Production
looks like you *might* have found a bug in the oracle driver. according to their doc ( here: https://www.oracle.com/technetwork/database/enterprise-edition/jdbc-faq-090281.html#30_17 )
What does "Protocol Violation" mean? The Thin driver throws this exception when it reads something from the RDBMS that it did not expect.
This means that the protocol engine in the Thin driver and the protocol engine in the RDBMS are out of synch.
There is no way to recover from this error. The connection is dead. You should try to close it, but that will probably fail too. If you get a reproducible test case that generates this error, please file a TAR with Oracle Global Support.
Be sure to specify the exact version numbers of the JDBC driver and the RDBMS, including any patches.
Talend named a Leader.
Kickstart your first data integration and ETL projects.
Part 2 of a series on Context Variables
Learn how to do cool things with Context Variables
Find out how to migrate from one database to another using the Dynamic schema