Erro XSQLDA ao Executar procedure

21/12/2022

0

Pessoa bom dia. Tenho um projeto com mais de 100 procedures que estava no delphi 10 Seatle. Migrei o projeto para o delphi 10.3 e agora ao executar qualquer procedure sempre recebo o erro "XSQLDA index out of Range". Não se trata de erro no projeto pois no seatle funciona.

Uso componente interbase e é inviável substituir todos os componentes do projeto.

Nesse caso estou usando IBDataBase, Transacion e IBStorecProc que é onde ocorre o problema.

Código.

execprocedure.StoredProcName := 'SP_TESTE';
execprocedure.ParamByName('ID').AsInteger := 1;
execprocedure.ExecProc;

usando execprocedure.Params[0]... Também ocorre o erro.

O erro sempre ocorre ao definir o valor para o primeiro parâmetro independe da procedure. Lembrando, "Não se trata de erro no código". Acredito que seja algum erro nativo delphi ou até mesmo no componente StoredProc.

Alguem teria alguma sugestão?
Antonelly Silva

Antonelly Silva

Responder

Posts

21/12/2022

Emerson Nascimento

veja se isto te ajuda:

https://docwiki.embarcadero.com/InterBase/2020/en/Creating_Parameters_at_Runtime

Responder

22/12/2022

Antonelly Silva

veja se isto te ajuda:

https://docwiki.embarcadero.com/InterBase/2020/en/Creating_Parameters_at_Runtime

Dessa forma não funciona. Preciso preservar o ParamByName, por que é inviável o retrabalho que eu teria que fazer no projeto para alterar todas as procedures presentes nele que já estavam funcionando no delphi seatle.
Responder

22/12/2022

Emerson Nascimento

se você está indicando a stored procedure em tempo de execução, como o componente vai saber quais são os parâmetros?
execprocedure.StoredProcName := 'SP_TESTE';
execprocedure.ParamByName('ID').AsInteger := 1;
execprocedure.ExecProc;


de qualquer modo, segue outra dica:
https://docwiki.embarcadero.com/InterBase/2020/en/Preparing_and_Executing_a_Stored_Procedure

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar