Ola pessoal, estou tentando executar uma procedure no oracle via C#
utilizando o enterprise library. 

O problema eh que no SQL plus, eu executo a procedure numa boa, mas quando
chamo ela via c# eu tenho uma mensagem de erro:

ORA-24338: handle de instrução não foi encontrado.

 

Eu faço a chamada assim:

DbCommand dbcommand = _Db.GetStoredProcCommand(Banco_Owner +
nome_StoredProcedure, vetor);

ds = _Db.ExecuteDataSet(dbcommand);

 

onde valor eh um vetor de strings que contem os parametros... 

 

A minha procedure para excluir usuarios esta compilada dessa forma:

 

create or replace procedure testecsm.DropLogin(

par_login in varchar2,

par_user in varchar2 := null,

par_coduser in int := null,

par_BancoCsm in varchar2  := null,

cur_return out SYS_REFCURSOR

)

AUTHID CURRENT_USER As

v_sql varchar2(1000);

v_existeLogin int;

begin

for v_existeLoginData in (select count(*) as nExiste from sys.dba_users
where upper(username) = upper(par_login))

loop

v_existeLogin := v_existeLoginData.nExiste;

end loop;

if v_existeLogin > 0 then

  v_sql := 'drop user ' || par_login;

  dbms_output.put_line(v_sql);

  execute immediate(v_sql);

  dbms_output.put_line('Usuario ['|| upper(par_login)||'/' ||
upper(par_user)||'] excluido!!!' );

  else

  dbms_output.put_line('Usuario nao existe');

end if;

end DropLogin;

/

 

 

alguem sabe como resolver isso???

 

 

 

 

atenciosamente, 

 

 

Renan Nucci

Desenvolvedor C#

CSM Software

Msn: [EMAIL PROTECTED]

 



[As partes desta mensagem que não continham texto foram removidas]

Responder a