代码如下:
String home = "/u1/uploadfile";
String command[] = new String[] { "sh", "useReadExcel.sh" };
File dir = new File(home);
Process p = Runtime.getRuntime().exec(command, null, dir);servlet里调用系统发布环境下的一个shell,是Linux系统。问题是:shell可以被调用,里面的其它命令也都可以运行;就是shell里面打开数据库的   sqlplus 用户名/密码@数据ID  这个命令不运行。还不报任何错误信息。(在linux上写了一个带main的java里面调用这个shell,直接在linux系统下运行这个java可以正常运行shell里所有语句)

解决方案 »

  1.   

    你单独执行下“sqlplus 用户名/密码@数据ID”这个看能不能连接到数据库。如果不是本机的数据库的话这样不知道能不能连上,你可以
    1  在本机oracle客户端的tsname.ora种配置一个连接窜
    2  “sqlplus 用户名/密码@IP:端口号:SID”    这样连接
      

  2.   

    我在系统下单独执行“sqlplus 用户名/密码@数据ID”可以正常连接到数据库
    而且在系统下用java运行T.class,通过T.class调用shell也都可以正常连接数据库,
    会不会是weblogic的问题?