Ich habe eine Java-Klasse, in der ich eine runshellscript-Methode aufrufen, die ein Skript ausführen wird. Es funktionierte gut mit MySQL, aber ich kann nicht herausfinden, warum es nicht gut mit psql funktioniert. Hier ein Auszug meiner Runshell Methode:java.io.IOException: Kann Programmfehler = 2 nicht ausführen, keine solche Datei oder Verzeichnis
public class RunShellScript {
public static void runShellScript (String unixCommand)
{
try {
Runtime runtime=Runtime.getRuntime();
//Process process=runtime.exec(new String [] { "/bin/csh", "-c", unixCommand});
Process process=runtime.exec(new String [] {unixCommand});
InputStream stderr=process.getErrorStream();
InputStreamReader isr=new InputStreamReader (stderr);
BufferedReader br=new BufferedReader (isr);
String line=null;
System.out.println("<ERROR>");
while((line=br.readLine())!=null)
System.out.println(line);
System.out.println(line);
int exitVal=process.waitFor();
System.out.println("Process exitValue:" + exitVal);
}
catch (Throwable t)
{
t.printStackTrace();
}
das Problem ist, dass, wenn ich diese setzen sich hinter einer Maus angeklickt Ereignis sagt es Befehl nicht gefunden. Hier ist der Code beuind die mous Ereignis
private void jMenuItem13MousePressed(java.awt.event.MouseEvent evt) {
String shellCommand="vobs/tools/Scripts/DataValidation/mysqlconnection.csh";
RunShellScript.runShellScript(shellCommand);
// TODO add your handling code here:
}
Das Seltsame ist, dass, wenn ich direkt auf das Verzeichnis, in dem das Skript befindet, und geben Sie ./mysqlconnection das Skript funktioniert. Aber wenn ich nur mysqlconnection eintippe, wird der Befehl says nicht gefunden. Irgendwie erkennt es meinen Skriptnamen nicht als Befehl?
so sollte ich den Pfad zu, wo mein csh-Skript auf den Pfad-Variable hinzufügen – rambokayambo
sollten Sie verwenden './Mysqlconnection' im Code statt 'mysqlconnection' – ikdc
ich versuchte ... aber es funktioniert nicht. Sie schlagen also vor, dass der Pfad, dem ich meine Stringvariable zuwies, vobs/tools/Scripts/DataValidation/.mysqlconnection.csh "sein sollte; – rambokayambo