Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Join us in Toronto Sept 9th for Qlik's AI Reality Tour! Register Now
cancel
Showing results for 
Search instead for 
Did you mean: 
Anonymous
Not applicable

Problems With Oracle Bulk Load/SQL Loader

Hello Everyone,
I am having some problems using the component tOracleBulkLoad, the following error is happening:
java.io.IOException: Cannot run program "sqlldr": error=2, No such file or directory

I saw that some people in the forum already had the same problem, and fixed configuring ORACLE_HOME variable. In my case I can execute the command sqlldr in the command line, but Talend does not recognize it, just dont know what can I do.
These are my configurations:
OS: Solaris 11 Sparc 64
Talend Integration Suite: 5.2.2
ORACLE_HOME = /u01/app/oracle/product/11.2.0/client_1
I really appreacite if anyone can help.
Thanks!
Labels (3)
5 Replies
Anonymous
Not applicable
Author

Hi 
Are you talking about  tOracleOutputBulkExec component? In order to use this component properly, you must install oracle client tool on the same machine where the job is executed.
BR
Shong
Anonymous
Not applicable
Author

Hello shong,
First of all, thank for your response. I already installed oracle client tool in the same machine Talend is running, this is very strange.
Our enviroment is something like this:

Server 1: 
Talend Running the job with tOracleBulkExecOracle Client 
Server 2:
Oracle Database 11g where data is saved (output)
Just because Oracle Client is installed i don´t know what can I do.
Thanks
Anonymous
Not applicable
Author

Hi  
Maybe it is a permission issue? Take a look at this similar https://community.talend.com/t5/Design-and-Development/resolved-tOracleBulkExec-not-loading-data-int..., try to use tSystem component to execute  sqlldr command and see if it is recognized.
BR
Shong
Anonymous
Not applicable
Author

Hello Shong,
I tried it, and the result is:

Using tSSH component with normal configuration: I have the same error of tOracleBulkLoad (sqlldr is not found)
Using tSSH component with Pseudo Terminal: It recognizes the sqlldr command (I just dont know why)

Thats it, i will try to put the command in tSSH component using Pseudo Terminal, but I just dont know what is the difference between both options, the first one is not recognized and the last one is ok.
Thank you
Anonymous
Not applicable
Author

Hello,
Just reporting, if anyone will pass for the same problem someday.
In my case, I put in the tSSH the full path for the sqlldr, so the command in tSSH is something this:
"/u01/app/oracle/product/11.2.0/client_1/bin/sqlldr xxx/xxx@'\"(DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = xxxx)(PORT = xxx)) (LOAD_BALANCE = ON) (FAILOVER = ON) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = xxxx) (FAILOVER_MODE = (TYPE = SELECT) (METHOD = BASIC) (RETRIES = 5) (DELAY = 2))))\"' bad='bad_file.txt' control='xxx.ctl' log='log.txt' direct='true'"

Thats it.
Thank you
Best regards