Ok li meio por cima este post.

 

Se esse for um problema de passagem de parâmetros. (parambyname) há Tb uma 
possibilidade de haver um problema com o asinteger;

 

Existe uma particularidade do Oracle quando um campo tipo NUMERIC for maior que 
9, por exemplo NUMERIC(10,0)

Eh necessário passar o parâmetro como AsBCD.

Se este for seu caso, tente passar o parâmetro ali como AsBCD e não como as 
Integer;

Eu achei isto no Google após algumas pesquisas.

 

[]'s

 

 

De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Josir 
Gomes
Enviada em: segunda-feira, 16 de julho de 2007 11:19
Para: delphi-br@yahoogrupos.com.br
Assunto: Res: [delphi-br] Re: ORA-06502 - Delphi

 

Então Ribamar,

grandes chances de ser problema de incompatibilidade do Oracle Client
e do Dbexpress com o campo CHAR. Eu não posso te dar certeza pois não
tenho experiência concreta com DbExpress. Para contornar o problema:

1) Verifique se os tipos estão corretos na propriedade Params no
componente StoreProc.
2) Verifique se o campo CHAR está realmente preenchido. no BDE, o erro
ocorre quando se passa NULL para um campo CHAR.

No SQLNavigator vai funcionar porque, apesar de ser feito em Delphi,
ele (graças a Deus) usa ODAC!!! o SQLDetective que é melhor e mais
barato que o SQLNavigator também é feito em Delphi/ODAC.

Boa Sorte,
Josir.

--- Em delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> , 
Ribamar Sousa <[EMAIL PROTECTED]> escreveu
>
> Bom Dia,
> 
> EMPRESA.cod_empresa é NUMBER(6)
> EMPRESA.nome é VARCHAR2(30)
> 
> O Acesso ao banco que estou utilizando é o DBExpress, e em relação
ao .Value, eu testei com .AsInteger, .AsString e não funcionou, estou
tentando rodar direto do SQLStoredProc(DBExpress), atribuindo nos
Parametros, no campo VALUE de cada um, o determinado valor e tentando
rodar... e também dá o mesmo erro, eu acho que seja alguma
configuração, não sei bem, pois eu rodei a procedure pelo SQLNavigator
e funcionou corretamente.
> 
> Aguardo respostas.
> 
> Desde já agradeço.
> 
> Ribamar Sousa Filho
> 
> 
> ----- Mensagem original ----
> De: Josir Gomes <[EMAIL PROTECTED]>
> Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> 
> Enviadas: Segunda-feira, 16 de Julho de 2007 8:28:55
> Assunto: [delphi-br] Re: ORA-06502 - Delphi
> 
> Olá Ribamar,
> 
> 1) pela declaração da procedure, não dá para saber qual é o tipo de
> EMPRESA.cod_ empresa%TYPE. Ele é numérico ou char?
> 
> 2) vc não especificou com que engine está acessando o banco. É BDE,
> DbExpress, ODAC??
> 
> 3) Se for BDE, não utilize parametros com CHAR pois as vezes dá
> problema de incompatibilidade entre o Oracle e o BDE - Bosta De
Engine :)
> 
> 4) Uma dica: procure não utilizar .Value e sim .AsString .AsInteger.
> Isso serve tanto para ParamByName como FieldByName.
> Além do código ficar + rápido, o compilador lhe ajuda na hora de
> interpretar conversões de tipo.
> 
> Boa Sorte,
> Josir.
> 
> --- Em [EMAIL PROTECTED] os.com.br, Ribamar Sousa <titofeiu@ .>
escreveu
> >
> > Boa Noite Pessoal,
> > estou fazendo uma aplicação Delphi x Oracle, e criei uma procedure
> para Inserir, Alterar e Excluir em uma tabela SIMPLES, que contem
> apenas o CODIGO e NOME
> > e no Delphi estou utilizando o componenten SQLStoredProc, para
> acessar a Procedure e enviar os dados para que seja executado a
procedure.
> > A procedure está funcionando corretamente, pois fiz os testes pelo
> SQL Navigator, sendo que pelo Delphi dá o seguinte erro....
> > ORA-06502: PL/SQL: erro: erro de conversão de caractere em número
> numérico ou de valor
> > ORA-06512: em line 1'
> > 
> > Na procedure tem os seguintes campos...
> > PROCEDURE EMPRESA_IAE
> > ( vTipo in Char,
> > vCodigo in EMPRESA.cod_ empresa%TYPE,
> > vNome in EMPRESA.nome% TYPE)
> > AS
> > ...
> > 
> > Então no DELPHI estou fazendo assim....
> > 
> > DM.SQLProcEmpresa. ParamByName( 'vTipo'). Value := 'I';
> > DM.SQLProcEmpresa. ParamByName( 'vNome'). Value := 'TESTE';
> > DM.SQLProcEmpresa. ParamByName( 'vCodigo' ).Value := 5;
> > DM.SQLProcEmpresa. ExecProc;
> > 
> > Para que eu possa testar... e não funciona... da o erro que eu
> mencionei acima...
> > Me ajudem por favor... pois não sei mais o que fazer...
> > Desde já agradeço
> 
> 
> 
> 
> 
> 
>
__________________________________________________________
> Novo Yahoo! Cadê? - Experimente uma nova busca.
> http://yahoo.com.br/oqueeuganhocomisso 
> 
> [As partes desta mensagem que não continham texto foram removidas]
>

 



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

Responder a