Skip to main content
Announcements
Join us at Qlik Connect for 3 magical days of learning, networking,and inspiration! REGISTER TODAY and save!
cancel
Showing results for 
Search instead for 
Did you mean: 
rphilips7161
Contributor
Contributor

issue with running tOracleBulkExec on a Windows Remote Engine for a Linux Oracle Server

We have an Oracle database server but run Talend in a Windows 12 environment (Remote Engine and Studio). We have been loading the table with a tFileInputDelimited component and inserting with a tOracleInput, but this is now taking too long. We thought that using the tOracleBulkExec would improve performance. We SFTP a file to be inserted into an Oracle table as well as a control file to the Oracle server. When we run tOracleBulkExec to load the table, we get the error below. I have tried using the tFTPList filepath, change the system property for file.separator to "/", and a number of other options. The component always reverts back to the windows formatted path. Any thoughts?

screenshot of Studio job attached

.-------------------------------|

|   tLogRow_2   |            |

|=------------------------------|

|current_filepath    |

|=------------------------------|

|/home/dbftp/q2_account.csv1.ctl| from tFTPList_1

'-------------------------------|

/         System.getProperty("file.separator") set in tJavaFlex_1

/home/dbftp/q2_account.csv1.ctl

Exception in component tDBBulkExec_1 (dept_load_daily_Q2_files_Bulk)

java.io.FileNotFoundException: \home\dbftp\q2_account.csv1.ctl (The system cannot find the path specified)

at java.io.FileInputStream.open0(Native Method)

at java.io.FileInputStream.open(Unknown Source)

at java.io.FileInputStream.<init>(Unknown Source)

at java.io.FileInputStream.<init>(Unknown Source)

at java.io.FileReader.<init>(Unknown Source)

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.tDBBulkExec_1Process(dept_load_daily_Q2_files_Bulk.java:3925)

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.tJavaFlex_1Process(dept_load_daily_Q2_files_Bulk.java:3760)

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.tFTPFileList_1Process(dept_load_daily_Q2_files_Bulk.java:3593)

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.runJobInTOS(dept_load_daily_Q2_files_Bulk.java:9391)

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.main(dept_load_daily_Q2_files_Bulk.java:8871)

[ERROR] 20:19:06 bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk- tDBBulkExec_1 - \home\dbftp\q2_account.csv1.ctl (The system cannot find the path specified)

[FATAL] 20:19:06 bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk- tDBBulkExec_1 \home\dbftp\q2_account.csv1.ctl (The system cannot find the path specified)

java.io.FileNotFoundException: \home\dbftp\q2_account.csv1.ctl (The system cannot find the path specified)

at java.io.FileInputStream.open0(Native Method) ~[?:1.8.0_271]

at java.io.FileInputStream.open(Unknown Source) ~[?:1.8.0_271]

at java.io.FileInputStream.<init>(Unknown Source) ~[?:1.8.0_271]

at java.io.FileInputStream.<init>(Unknown Source) ~[?:1.8.0_271]

at java.io.FileReader.<init>(Unknown Source) ~[?:1.8.0_271]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.tDBBulkExec_1Process(dept_load_daily_Q2_files_Bulk.java:3925) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.tJavaFlex_1Process(dept_load_daily_Q2_files_Bulk.java:3760) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.tFTPFileList_1Process(dept_load_daily_Q2_files_Bulk.java:3593) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.runJobInTOS(dept_load_daily_Q2_files_Bulk.java:9391) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.main(dept_load_daily_Q2_files_Bulk.java:8871) [classes/:?]

[ERROR] 20:19:06 bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk- tcld_cloud_log_1_tLogCatcher_1 - tLogCatcher failed to process log message(s) due to internal error: routines.system.api.TActionFailureException: dept_load_daily_Q2_files_Bulk:tDBBulkExec_1: java.io.FileNotFoundException:\home\dbftp\q2_account.csv1.ctl (The system cannot find the path specified)

routines.system.api.TActionFailureException: dept_load_daily_Q2_files_Bulk:tDBBulkExec_1: java.io.FileNotFoundException:\home\dbftp\q2_account.csv1.ctl (The system cannot find the path specified)

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.tcld_cloud_log_1_tLogCatcher_1Process(dept_load_daily_Q2_files_Bulk.java:2534) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk$TalendException.printStackTrace(dept_load_daily_Q2_files_Bulk.java:562) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk$TalendException.printStackTrace(dept_load_daily_Q2_files_Bulk.java:542) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk$TalendException.printStackTrace(dept_load_daily_Q2_files_Bulk.java:542) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.runJobInTOS(dept_load_daily_Q2_files_Bulk.java:9398) [classes/:?]

at bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk.main(dept_load_daily_Q2_files_Bulk.java:8871) [classes/:?]

6 Replies
Anonymous
Not applicable

Hello,

Please make sure that your file must be present on the database server.

Did you try to copy the file via SFTP e.g. to the server and than start the bulk import?

Are you using the same file path in both tOracleOutputBulk and tOracleBulkExec?

Best regards

Sabrina

rphilips7161
Contributor
Contributor
Author

I did use an sftp to get the file from the tOracleOutputBulk file path to the Linux Database server. That worked and I could see the file with a tFTPFileList. The path for the tFTPPut, tFTPFileList, and the tOracleBulkExec are all the same. For the tOracleBulkExec I have tried using a character for the forward slash (and adding it to the String path), using a context for the slash and the whole path. None of those have worked for me.

Anonymous
Not applicable

Hello,

On which talend build version you got this issue?

If the file is located on a remote machine, it should be a UNC path.

In Java to allow UNC Path, simply write

as network path separator

\\Network\directory\file

-> \\\\Network\\directory

Best regards

Sabrina

rphilips7161
Contributor
Contributor
Author

We are using Studio 7.3.1 build R2021-09

 

When I use //server/home/dbftp/q2_account.csv1.ctl

 

I get this - [ERROR] 10:46:10 bi.dept_load_daily_q2_files_bulk_0_8.dept_load_daily_Q2_files_Bulk- tDBBulkExec_1 - \\server\home\dbftp\q2_account.csv1.ctl (The network path was not found)

 

so it is translating my Linux path to Windows.

rphilips7161
Contributor
Contributor
Author

Do you have any other thoughts on this?

 

Anonymous
Not applicable

Hello,

We are supposing that there is something wrong with your setting of Talend Cloud context parameters.

Have you already checked this online documentation about: TalendHelpCenter: Resource parameters

Best regards

Sabrina