tSystem / TOS 3.0 / Java: error=2, cannot find file

One Star

tSystem / TOS 3.0 / Java: error=2, cannot find file

Hello everybody
I'm trying to use a tSystem component which run command php -i on a Windows desktop.
I have the following error:
Starting job submitWebServiceQuery at 13:23 21/10/2008.
connecting to socket on port 3392
connected
connecting to socket on port 4450
connected
Exception in component tSystem_1
java.io.IOException: Cannot run program "php": CreateProcess error=2, File doesn't exists
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at project.submitwebservicequery_0_1.submitWebServiceQuery.tSystem_1Process(submitWebServiceQuery.java:264)
at project.submitwebservicequery_0_1.submitWebServiceQuery.tRunJob_1Process(submitWebServiceQuery.java:233)
at project.submitwebservicequery_0_1.submitWebServiceQuery.runJobInTOS(submitWebServiceQuery.java:558)
at project.submitwebservicequery_0_1.submitWebServiceQuery.main(submitWebServiceQuery.java:367)
Caused by: java.io.IOException: CreateProcess error=2, Le fichier spécifié est introuvable
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
... 8 more
3593 milliseconds
disconnected
disconnected
Job submitWebServiceQuery ended at 13:23 21/10/2008.

I have the same error if I try the echo 'test' in command.
If I made theses commands in a cmd line window, commands are ok.
What's wrong? Is it a path problem? Under which account run talend?
Best regards,
Employee

Re: tSystem / TOS 3.0 / Java: error=2, cannot find file

Hello,
You can try "cmd /c echo test"
BTW, this is the default configuration of the component.
Regards,
One Star

Re: tSystem / TOS 3.0 / Java: error=2, cannot find file

hello,
thanks you for your feedback.
Yes, with this command, I have test print out.
But when I try something like cmd /c php -i, I have no answer: can't found php path interpreter.
So did I need when I try to execute a system executable or script to use the cmd /c prefix? Or is there another way to call externals scripts?
Best regards,
Employee

Re: tSystem / TOS 3.0 / Java: error=2, cannot find file

The php command is not in your OS path.
Check the "use Home directory" option and specify the php bin directory classpath.
One Star

Re: tSystem / TOS 3.0 / Java: error=2, cannot find file

hello
are you sure that it can't be another problem?
Here's screenshoot of my system variables and path content:


as you can see, path contains php.exe folder (wamp/php/...)
But yes, really thanks you, If I set home directory to my folder which contains the php.exe binary, command "cmd /c php -version" works fine. (but not php -version". Strange is it?
I can't found any resource about path management in talend, if someone have some documentation it'll be fine.
Thanks for your help mhirt Smiley Wink
One Star

Re: tSystem / TOS 3.0 / Java: error=2, cannot find file

Hello I'm new at JAVA programing and I have this code:
problem says "missing return statement"
helpme would you?=( it is a program that is a frame with a botton ("double") a textfield, and if u introduduce a number then clic the botton it should double your number and show it at the same field.... seeya
import java.awt.BorderLayout;
import java.awt.Container;
import javax.swing.*;
import java.awt.event.*;
import javax.swing.JButton;
/**
*
* @author ???
*/
public class Pow2Frame extends JFrame {
private JButton doubleButton;


Public Pow2Frame()
{
Container conPane = getContentPane();
conPane.setLayout(new BorderLayout());
setTitle("Powers of Two");
pack ();
JLabel valueLabel = new JLabel("Value:");
JTextField valueField = new JTextField("1", 6);
doubleButton = new JButton("Double");
JPanel buttonHolder = new JPanel();
buttonHolder.add(valueLabel);
buttonHolder.add(valueField);
buttonHolder.add(doubleButton);
conPane.add(buttonHolder, BorderLayout.SOUTH);
doubleButton.addActionListener((ActionListener) this);
frame.pack();
frame.setVisible(true);
}

public void actionPerformed(ActionEvent e)
{

String valueString = valueField.getText();
int value = Integer.parseInt(valueString);
value *= 2;
valueString = Integer.toString(value);
valueField.setText(valueString);

}
public static void main(String args[]) {
JFrame frame = new Pow2Frame();
frame.addWindowListener(new WindowAdapter() {
@Override
public void windowClosing(WindowEvent e) {
System.exit(0);
}
});
}
}