try{
    CallableStatement cstm = connection.prepareCall("{calll 存储过程名[参数1,参数2]}");
    cstm.setString(1,"abcd");

解决方案 »

  1.   

    cstm.registerOutParameter(2,Types.REAL);
            cstm.execute();
            float gpa = cstm.getFloat(2);
       }catch(Exception e){}  其中参数1是输入参数,参数2为输出参数!
      

  2.   

    java.sql.SQLException: ORA-06550: 第 1 行, 第 13 列: PLS-00306: 调用 'SELECT_USERN' 时参数个数或类型错误 ORA-06550: 第 1 行, 第 7 列: PL/SQL: Statement ignored 不行啊~555555555555555555555555555555555555555555555555555555
      

  3.   

    在数据库中执行 下你的存储过程,看是不是写错了,如果正确再在Java中调用,
    如果是你写错了,呵呵,还是到数据库版 问问了。!!!!
      

  4.   

    能用~偶就是在数据库里执行了的~USERNAME1是个自定义的type,如果不返回这个type,返回指针和varchar等类型偶都能用java取出来……但是就是这个老类型冲突或者无效的名称模式:G_EX.USERNAME1,哎……