| Autor |
Mensagem |
![[Post New]](/templates/default/images/icon_minipost_new.gif) 14/07/2004 15:39:57
|
dgomesbrPJ
Debugger
![[Avatar]](/images/avatar/0)
Membro desde: 04/05/2004 00:00:00
Mensagens: 63
Offline
|
Pessoal, vê se vocês podem me ajudar.
Tenho a seguinte procedure:
PROCEDURE IDENT_BASE01
Argument Name Type In/Out Default?
------------------------------ ----------------------- ------ --------
TIPO NUMBER IN
DADO_CONTA CHAR IN
RESULTADO REF CURSOR IN/OUT
Repare bem que é um REF CURSOR, tenho que pegar o resultado dele passando os parâmetros.
Fiz da seguinte forma:
CallableStatement cs = con.prepareCall("{call IDENT_BASE01(1,'Márcio',null)}");
cs.setString(1, "Entrou");
cs.registerOutParameter(2,java.sql.Types.VARCHAR);
cs.executeQuery();
cs.getString(2);
Só que deu o seguinte erro dizendo que o valor do parâmetro não pode ser nulo
java.sql.SQLException: ORA-06550: line 1, column 61:
PLS-00567: cannot pass NULL to a NOT NULL constrained formal parameter
ORA-06550: line 1, column 61:
PLS-00363: expression ' NULL' cannot be used as an assignment target
ORA-06550: line 1, column 7:
PL/SQL: Statement ignored
No caso do 3º parâmetro é o resultado e não tenho o que passar nele.
Sei que tem um jeito de fazer isso, só que não estou sabendo como.
Pelo SQL_PLUS eu consegui fazer da seguinte maneira:
SQL> declare
2 TYPE cat_cv IS REF CURSOR;
3 mar cat_cv;
4 begin
5 EBT_TELACORE_CAT.EBT_TELACORE_IDENT_BASE01(4,'Marcio',mar);
6 end;
7 /
Grato..........
|
|
|
 |
|
|
![[Post New]](/templates/default/images/icon_minipost_new.gif) 21/08/2004 20:03:37
|
Juliano CarnielPJ
GUJ Master
![[Avatar]](/images/avatar/1)
Membro desde: 25/09/2003 00:00:00
Mensagens: 1894
Offline
|
bah... pelos eros que vc descreveu o parametro que esta sendo passado está sendo nulo, e o campo da tabela esta como not Null ...
printa os valores antes de manda-los para certificar =)
ja conseguiste resolver??
|
http://www.portaljava.com |
|
|
 |
|
|
|
|