Start process on JBoss Server
zearys Aug 2, 2011 11:05 AMHi,
I’m using SQLLoader to load data into my tables from a process. I would like to lunch this process once a user presses a button in my web interface. So I made tests in a single main before adding and everything was fine. Once I place the code on my JBoss Server nothing work anymore.
I would like to know why the code don't react same way on Jboss sever as on a regular java application for process execution? And what may I do to make the same code react the same way?
In a main, executed as java application, this code results X successful lines:
String[] exec = new String[] {"sqlldr","userid=ab@devl/abc","control=C:/controls.txt","log=C:/" }; BufferedReader br = new BufferedReader(new InputStreamReader(new ProcessBuilder(exec).start().getInputStream())); while (br.readLine() != null) { … }
- Controls.txt:
LOAD DATA INFILE 'C:/03_JUN-11_0210SFAEXDDEFS20110712014140.txt' APPEND INTO TABLE S1_DATA_TEST TRAILING NULLCOLS (EXERCICE CONSTANT 2011, NO_PERIODE CONSTANT 3, REGISTRE POSITION(14:20) CHAR TERMINATED BY WHITESPACE, ENTITE POSITION(44:47) CHAR TERMINATED BY WHITESPACE, A POSITION(69:74) CHAR TERMINATED BY WHITESPACE, PERIODE POSITION(219:224) CHAR TERMINATED BY WHITESPACE, DESCRIPTION POSITION(234:474) CHAR TERMINATED BY WHITESPACE, B POSITION(475:496) DECIMAL EXTERNAL "to_number(replace(:B,'.',','))", )
And once on the JBoss server with the same code :
09:58:29,339 ERROR [STDERR] java.io.IOException: CreateProcess: sqlldr userid=ab@devl/abc control=C:/controls.txt log=C:/ error=2
09:58:29,339 ERROR [STDERR] at java.lang.ProcessImpl.create(Native Method)
09:58:29,339 ERROR [STDERR] at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
09:58:29,339 ERROR [STDERR] at java.lang.ProcessImpl.start(ProcessImpl.java:30)
09:58:29,339 ERROR [STDERR] at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
09:58:29,339 ERROR [STDERR] at exportation.Sqlldr.executer(Sqlldr.java:74)
09:58:29,339 ERROR [STDERR] at exportation.Sqlldr.executer(Sqlldr.java:34)
09:58:29,355 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
09:58:29,355 ERROR [STDERR] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
09:58:29,355 ERROR [STDERR] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
09:58:29,355 ERROR [STDERR] at java.lang.reflect.Method.invoke(Method.java:585)