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]