Hi All:
I am using windows 2000 server with Eclipse.
In the dost prompt, I ran the file run_sqlldrTest2.cmd and it loaded record into the Oracle database.
I tried to do the same thing in java calling the run_sqlldrTest2.cmd. In java it states the "The command line job - -executed successfully."
However, I donot see the record being loaded into the database.
What am I doing wrong?
If I comment out the "cmd[2]=set PATH=C:\\OraHome_1\\bin;" line and ran RunCmd.java, on the line for P.waitFor() it would freeze there forever:
Any help for suggestions would be greatly appreciated!!
Yours,
Frustrated.
RunCmd.java:
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
public class RunCmd
{
public static void main(String[] args)
{
Process P;
Runtime r;
r = Runtime.getRuntime();
try {
String[] cmd = new String[4];
cmd[0] = "cmd.exe";
cmd[1] = "/C";
cmd[2]="set PATH=C:\\OraHome_1\\bin;";
cmd[3]="C:\\test2009\\scripts\\run_sqlldrTest2.cmd";
try {
P = r.exec(cmd);
int Exitcode = P.waitFor();
if (Exitcode != 0)
{
System.out.println("The command line job did not execute successfully");
}
else
{
System.out.println("The command line job - " +
" - executed successfully."); //break
}
}
catch (Exception e)
{
System.out.println(" 1 e.getMessage():"+e.getMessage());
}
} catch (Exception e)
{
System.out.println("2 e.getMessage():"+e.getMessage());
}
}
}
run_sqlldrTest2.cmd:
set PATH=C:\\OraHome_1\\bin;
C:\test2009\scripts\run_sqlldr.cmd test2009/test2009@orcl control=C:\test\scripts\ctl\amcare.ctl log=C:\test\scripts\log\NAC20090150005112.txt.log data=C:\test\scripts\data\NAC20090150005112.txt bad=C:\test\scripts\bad_files\NAC20090150005112.txt.bad discard=C:\test\scripts\dis_files\NAC20090150005112.txt.dis;
run_sqlldr.cmd:
echo %* > C:\test2009\scripts\log\sqlldr.log
sqlldr %* >> C:\test2009\scripts\log\sqlldr.log