Hi
Try the following code. The place where you call Runtime.getRuntime().exec (Pass the sqlldr command) which you have specified below your code. It worked for me.


import java.io.BufferedReader;
import java.io.InputStream;
import java.io.InputStreamReader;

class runBCP
{
public static void main(String cmd[]) {
String str = "";
try {
System.out.println("\nEntering runBCP() ......");
Process process_bcp = Runtime.getRuntime().exec("");
process_bcp.waitFor();
int returnValue = process_bcp.exitValue();

System.out.println("\nin runBCP(), returnValue = " +returnValue);
if(returnValue != 0) {
InputStream in = process_bcp.getInputStream();
InputStreamReader preader = new InputStreamReader(in);
BufferedReader breader= new BufferedReader(preader);
String msg = null;
while((msg = breader.readLine()) != null) {
System.out.println(msg);
str += "" + msg + "";
}
System.out.flush();
preader.close();
breader.close();
in.close();

InputStream inError = process_bcp.getErrorStream();
InputStreamReader preaderError = new InputStreamReader(inError);
BufferedReader breaderError= new BufferedReader(preaderError);

String errorMsg = null;
while((errorMsg = breaderError.readLine()) != null) {
System.out.println("Copy Error: " + errorMsg);
str += "" + errorMsg + "";
}
System.out.flush();
preaderError.close();
breaderError.close();
inError.close();
}
else{

InputStream in = process_bcp.getInputStream();
InputStreamReader preader = new InputStreamReader(in);
BufferedReader breader= new BufferedReader(preader);
String msg = null;
while((msg = breader.readLine()) != null) {
System.out.println(msg);
str += "" + msg + "";
}
System.out.flush();
preader.close();
breader.close();
in.close();
}
process_bcp.destroy();

System.out.println("IMPORT PORTFOLIO DATA DONE");
}catch(InterruptedException e){
System.out.println("Exception : " + e.toString());
e.printStackTrace();
str = "UPLOAD FAILED";
}catch(Exception e){
str = "UPLOAD FAILED";
System.out.println("Exception : " + e.toString());
e.printStackTrace();
}
System.out.println(str);

}
}