Fórum Problemas com Stored Procedure no Firebird 2.1 #60575
04/04/2009
0
Estou tentando acompanhar o Curso de Desenvolvimento de um aplicativo PDV e tive o seguinte problema ao tentar inserir uma Stored Procedure no Firebird:
O Script é o seguinte:
create procedure sp_get_gerador(pNome Varchar(50)) returns (pValro d_ineiro)
as
declare variable vStm Varchar(500);
begin
vStm = ´select next value for ´ || pNome || ´from rdb$databases´;
execute statement vStm into :pValor;
Suspend;
end;
O erro retornado é:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = @1
Token unknown - line @1, column @2
@1
Alguém pode me ajudar?
Grato,
Marcelo Teixeira
Teixeiramg
Curtir tópico
+ 0Posts
07/05/2009
Rockedsonbr
dialect: 3
default charset: WIN1250
ambos m reportam o mesmo erro....???
abaixo a procedure e a linha do erro:
create procedure sp_get_gerador(pNome varchar(50)) returns (pValor d_inteiro)
as
declare variable vStm varchar(500);
begin
vStm = ´select next value for ´ || pNome || ´ from rdb$database´;
execute statement vStm into :pValor;
suspend;
end;
o erro que tá m printando no console:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = -104
Unexpected end of command - line 3, column 34
???
Parece que existem mais pessoas com o mesmo problema... alguém poderia dar uma diga para resolvermos esse problema
Gostei + 0
08/05/2009
Webjoel
Bom o primeiro caso, tem uma coisa a mais, esses arrobas estão aparecendo no erro por você estar utilizando uma dll mais antiga na máquina em relação a versão do firebird, que seria a FBCLIENT.DLL.
e não sei por que você estão colocando ´d_inteiro´, talvez tenham pegado essa procedure como exempl oem algum lugar, onde alguem cadastrou um domínio inteiro com o nome de ´d_inteiro´, mas segue a procedure funcionando no 2.1:
SET TERM ^ ; CREATE OR ALTER PROCEDURE SP_GET_GERADOR ( pnome varchar(50)) returns ( pvalor integer) as declare variable vstm varchar(500); begin vStm = ´select next value for ´ || pNome || ´ from rdb$database´; execute statement vStm into :pValor; suspend; end ^ SET TERM ; ^
Gostei + 0
08/08/2009
Alcirm
faz um tempo que estou usando o firebird 2.1... e, desde que comecei a usá-lo, notei que, ao rodar meus softwares nos clientes, fora do ambiente de desenvolvimento, quando ocorre algum erro na base de dados, em função de uma atualização de estrutura ou algo parecido, o firebird retorna o erro de uma forma estranha. ele não retorna o nome do objeto com problema...
pra facilitar, vou dar um exemplo. ao tentar resgatar o valor de um generator que não existe no banco de dados, com o firebird 1.5 ou 2.0 tenho a seguinte exception :
´invalid reques BLR at offset 80
generator CLIENTES_GE is not defined At procedure ´GERAR_CODIGO´´.
com o firebird 2.1 a exception fica assim :
´invalid request BLR ar offset @1 generator @1 is not defined @1...´
isso dificulta mto qdo passa batido alguma alteração no banco, e gera erro em um cliente... não dá pra identificar qual é o problema de imediato, devido a ele não retornar o nome do objeto, e sim @1 @2 @3....
Se alguem souber como resolver isso... eu agradeço...
Gostei + 0
21/05/2016
Paulo Andrade
Estou tentando acompanhar o Curso de Desenvolvimento de um aplicativo PDV e tive o seguinte problema ao tentar inserir uma Stored Procedure no Firebird:
O Script é o seguinte:
create procedure sp_get_gerador(pNome Varchar(50)) returns (pValro d_ineiro)
as
declare variable vStm Varchar(500);
begin
vStm = ´select next value for ´ || pNome || ´from rdb$databases´;
execute statement vStm into :pValor;
Suspend;
end;
O erro retornado é:
ISC ERROR CODE:335544569
ISC ERROR MESSAGE:
Dynamic SQL Error
SQL error code = @1
Token unknown - line @1, column @2
@1
Alguém pode me ajudar?
Grato,
Marcelo Teixeira
Fiz seguindo seu código e retorna o mesmo erro ainda. No meu caso o erro é assim:
Invalid token.
invalid request BLR at offset 72.
generator GEN_PRODUTOS is not denined.
At procedure 'SP_GET_GERADOR'.
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)