Oracle + FUNCTION (nem todas as variáveis são limitadas)

2 respostas
S

Pessoal,

Já verifiquei se o tipo das variáveis estão corretas ou se está faltando alguma, pode ser outra coisa além disso que dê esse tipo de erro?

O código segue abaixo:

CallableStatement cs = conn.prepareCall("{ ? = call posvirt_trs(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?) }");
       
        cs.registerOutParameter (1, Types.INTEGER);
        cs.setString(2, "54");
        cs.setString(3, "899");
        cs.setString(4, "222");
        cs.setString(5, "54");
        cs.setString(6, "65");
        cs.setString(7, "011");
        cs.setString(8, "56");
        cs.setString(9, "000");
        cs.setString(10, "10");
        cs.setString(11, "1");
        cs.setString(12, "00");
        cs.registerOutParameter(13, Types.VARCHAR);
        cs.registerOutParameter(14, Types.VARCHAR);
        cs.registerOutParameter(15, Types.VARCHAR);
        cs.registerOutParameter(16, Types.VARCHAR);
        cs.registerOutParameter(17, Types.VARCHAR);
        cs.registerOutParameter(18, Types.VARCHAR);
        cs.registerOutParameter(19, Types.VARCHAR);
        cs.registerOutParameter(20, Types.DATE);

        cs.execute();
        System.out.println(cs.getString(1));

2 Respostas

C

Crie uma variável do tipo ResultSet

Exemplo

ResultSet rs = null;

cs.execute();

rs = (ResultSet) rs.getObject(2);

rs.getString();

E atribua a variavel rs o retorno

C

Ahh você deve utilizar ResultSet quando retorno um CURSOR, caso retorne um String utilize:

String teste = cs.getString(2);
Criado 19 de abril de 2007
Ultima resposta 23 de abr. de 2007
Respostas 2
Participantes 2