Skip to Main Content

Analytics Software

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Unable to execute SFTP shell script in ODI

Dinesh AtluriSep 19 2017 — edited Sep 20 2017

Hi,

Hope everyone doing well.

I have written a shell script remove.sh to remove the files from SFTP server.

My script is as below:

#!/bin/sh

USERNAME="myuser"

HOSTNAME="myhost"

sftp $USERNAME@$HOSTNAME << EOF

cd /loc/subloc

rm file.txt

quit

EOF

By using this shell script from our Unix environment - I am able to delete the file which is in SFTP location.

But when I am trying to execute the above shell script in OS Command in ODI package - I am experincing the below error.

  1. com.sunopsis.dwg.function.SnpsFunctionBaseException: ODI-30038: OS command returned 255.

                at com.sunopsis.dwg.tools.OSCommand.actionExecute(OSCommand.java:295)

                at com.sunopsis.dwg.function.SnpsFunctionBase.execute(SnpsFunctionBase.java:296)

                at oracle.odi.runtime.agent.execution.SessionTask.execIntegratedFunction(SessionTask.java:870)

                at oracle.odi.runtime.agent.execution.SessionTask.executeOdiCommand(SessionTask.java:551)

                at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:32)

                at oracle.odi.runtime.agent.execution.cmd.OdiCommandExecutor.execute(OdiCommandExecutor.java:18)

                at oracle.odi.runtime.agent.execution.TaskExecutionHandler.handleTask(TaskExecutionHandler.java:52)

                at oracle.odi.runtime.agent.execution.SessionTask.processTask(SessionTask.java:189)

                at oracle.odi.runtime.agent.execution.SessionTask.doExecuteTask(SessionTask.java:111)

                at oracle.odi.runtime.agent.execution.AbstractSessionTask.execute(AbstractSessionTask.java:864)

                at oracle.odi.runtime.agent.execution.SessionExecutor$SerialTrain.runTasks(SessionExecutor.java:2024)

                at oracle.odi.runtime.agent.execution.SessionExecutor.executeSession(SessionExecutor.java:562)

                at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:718)

                at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor$1.doAction(TaskExecutorAgentRequestProcessor.java:611)

                at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:203)

                at oracle.odi.runtime.agent.processor.TaskExecutorAgentRequestProcessor.doProcessStartAgentTask(TaskExecutorAgentRequestProcessor.java:800)

                at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$1400(StartSessRequestProcessor.java:74)

                at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:702)

                at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:180)

                at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:108)

                at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)

                at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)

                at oracle.odi.runtime.agent.execution.job.OdiJob.call(OdiJob.java:73)

                at java.util.concurrent.FutureTask.run(FutureTask.java:262)

                at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)

                at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)

                at java.lang.Thread.run(Thread.java:745)

OdiOSCommand Properties :-

Command to execucte : ./remove.sh (also tried sh ./remove.sh)

Working directory : /source/scripts/

To add more in detail, Before this step I am able to execute SFTPGET component in ODI and pull the file.

I have given 0777 privileges to script and script folder as well.

Can anyone please advise ?

Thanks in advance.

Dinesh.

Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Oct 18 2017
Added on Sep 19 2017
5 comments
1,314 views