[firebase-br] RES: RES: erro ao tentar Criar procedure no fb2.5

Zottis bzottis em ig.com.br
Qui Jan 27 12:53:57 -03 2011


Estou usando o IBExpert para Cria-la, mas acho que o banco de Dados deu Pau,
estou montando um banco de dados do Zero e Repovoando para ver se da certo.
O interessante é que nos outros clientes, o DBComparer, não aconteceu esse
problema, por isso to achando que é o Banco de dados desse cliente.

Obrigado.



-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Fasystem - Listas
Enviada em: quinta-feira, 27 de janeiro de 2011 12:17
Para: 'FireBase'
Assunto: [firebase-br] RES: erro ao tentar Criar procedure no fb2.5

Bom Dia Zottis
Não sei como você está criando/atualizando a procedure, mas tive um problema
como esse utilizando Delphi 7 e fazendo a atualização através do IBScript.
Demorei para encontrar o erro e ainda não consegui contorná-lo.
Me parece que não é possível utilizar caracter acentuado nesses scripts.
Faz o teste: remova os caracteres acentuados e veja se passa.
Se conseguir solucionar, ou alguém da lista souber como resolver, estou
aguardando ancioso.
Lembrando que no FB2.1 ela era criada normalmente com caracteres acentuados.

[ ]'s
Jose Aparecido da Silva



-----Mensagem original-----
De: lista-bounces em firebase.com.br [mailto:lista-bounces em firebase.com.br] Em
nome de Zottis Enviada em: quinta-feira, 27 de janeiro de 2011 10:28
Para: 'FireBase'
Assunto: [firebase-br] erro ao tentar Criar procedure no fb2.5


Pessoal, tenho essa procedure que foi passada na lista e criei normalmente
no fb 2.1 Agora ele não aceita no 2.5

O que seria esse erro?

This operation is not defined for system tables.
unsuccessful metadata update.
STORE RDB$PROCEDURES failed.
Malformed string.


SET TERM ^ ;

CREATE OR ALTER PROCEDURE REMOVER_ACENTO (
    pe_texto varchar(100))
returns (
    ps_texto varchar(100))
as
declare variable v_com_acento varchar(28) = 'àâêôûãõáéíóúçüÀÂÊÔÛÃÕÁÉÍÓÚÇÜ';
declare variable v_sem_acento varchar(28) = 'aaeouaoaeioucuAAEOUAOAEIOUCU';
declare variable v_loop_1 integer = 1; declare variable v_loop_2 integer =
1; declare variable v_texto_a varchar(1) = ''; declare variable v_texto_b
varchar(100) = ''; begin
  V_LOOP_1 = 1;
  /*
------------------------------------------------------------------------ */
  /* INICIAR O LOOP NO TEXTO PRINCIPAL
-------------------------------------- */
  /*
------------------------------------------------------------------------ */
  while (V_LOOP_1 <= char_length(PE_TEXTO)) do
  begin
    V_TEXTO_A = '';
    V_TEXTO_A = substring(PE_TEXTO from :V_LOOP_1 for 1);
    V_LOOP_2 = 1;
    /*
---------------------------------------------------------------------- */
    /* INICIAR O LOOP NO TEXTO COM ACENTO
----------------------------------- */
    /*
---------------------------------------------------------------------- */
    while (V_LOOP_2 <= char_length(V_COM_ACENTO)) do
    begin
      if (V_TEXTO_A = substring(V_COM_ACENTO from :V_LOOP_2 for 1)) then
      begin
        V_TEXTO_A = substring(V_SEM_ACENTO from :V_LOOP_2 for 1);
      end
      V_LOOP_2 = V_LOOP_2 + 1;
    end
    V_TEXTO_B = V_TEXTO_B || V_TEXTO_A;
    V_LOOP_1 = V_LOOP_1 + 1;
  end
  PS_TEXTO = V_TEXTO_B;
  suspend;
end^

SET TERM ; ^

GRANT EXECUTE ON PROCEDURE REMOVER_ACENTO TO SYSDBA;


______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa



______________________________________________
FireBase-BR (www.firebase.com.br) - Hospedado em www.locador.com.br Para
saber como gerenciar/excluir seu cadastro na lista, use:
http://www.firebase.com.br/fb/artigo.php?id=1107
Para consultar mensagens antigas: http://firebase.com.br/pesquisa





Mais detalhes sobre a lista de discussão lista