[firebase-br] Roberto Germano - Comando que nao executao

Roberto Germano Vieweg Neto roberto em jjwinformatica.com.br
Sex Maio 5 14:15:34 -03 2006


Um Parser de SQL é o seguinte:

Parser - esquema que quebra uma string token por token.
Basicamente ele vai retirando do texto informado palavra por palavra, símbolo por simbolo entao assim:
Para vc parsear um SQL vc teria que fazer assim, por exemplo:

CREATE TABLE TESTE ( CODIGO INTEGER );

Quando eu passar o parser nisso ele irá retornar na sequencia: "CREATE", "TABLE", "TESTE", "(", "CODIGO", "INTEGER", ")" e ";"
Então vc pega a regra: O que pode vir depois de um CREATE...pode vir TABLE, STORED PROCEDURE, VIEW.... assim vc vai fazendo entendeu?

Isso é o que um parser faz...

----- Original Message ----- 
  From: Rafael Stavarengo 
  To: FireBase 
  Sent: Friday, May 05, 2006 11:58 AM
  Subject: Re: [firebase-br] Roberto Germano - Comando que nao executao


  o cara eu fiz a pesquisa que vc me passou!!
  mais sera que vc pode me dar mais informacoes sobre o que eh parser e o qual
  a funcao dele ?

  ----- Original Message -----
  From: "Roberto Germano Vieweg Neto" <roberto em jjwinformatica.com.br>
  To: "FireBase" <lista em firebase.com.br>
  Sent: Friday, May 05, 2006 10:52 AM
  Subject: Re: [firebase-br] Comando que nao executao


  Cara, eu utilizo DBExpress, e para fazer isso desenvolvi um parser para
  comandos SQL, assim executo os comandos um a um sem erros e se algum dia eu
  precisar customizar comandos, simplesmente adiciono a regra no meu parser :D

  Procure na net por SQL + Parser + linguagem que vc trabalha, por exemplo,
  Deplhi...

  att. :D
    ----- Original Message -----
    From: Rafael Stavarengo
    To: FireBase
    Sent: Friday, May 05, 2006 10:27 AM
    Subject: [firebase-br] Comando que nao executao


    ola amigos da lista!!

    o meu problema eh o sequinte: O meu sistema atualiza a base de dados
    automaticamente caso ele perceba que exista necessidade. Esta atualizacao
  da
    base eh feita por um script que o IBExpert gera pra mim atravez da opcao
    "Tools>Database comparer". Como a maioria deve saber atravez desta
    ferramente eh verificado duas base de dados, sendo uma a versao nova e
  outra
    a versao antiga, gerando um script de atualizacao para a base velha de
    acordo com as diferencas entre as duas.
    O problema eh que embora o script funcione certinho dentro do ibexpert
    atravez do "Tools>Script Executive (CTRL+F12)" alguns comandos que o
    IBExpert coloca nesse script nao são aceitos pelo compoente TIB_Script
    (IBO). Abaixo vo coloca uma pequena parte do scritp e "setar" quais os
    comandos que ele nao reconhece.

    /**********INICIO**************/

    DROP INDEX IDX$PRI_FANT;

    RECONNECT; <<<<<<------------ o TIB_Script (IBO) nao reconhece, porem
    TIBScript (IBX) reconhece esete comando
    DROP INDEX PRI$PRI_RAZA;

    DESCRIBE DOMAIN DATAALTE 'dominio utilizado em campos SIS_DATAALTE';
    <<<<<<---------nem o TIB_Script (IBO) e nem o TIBScript(IBX) reconhecem
    esete comando (DESCRIBE)

    /***********FIM******************/

    alguem sabe pq isso acontece e como resolver? lembrando que dentro do
    executor de scripts do IBExpert nao da nenhum porblema.
    Estou usando FireBird 1.5.3 com WinXP SPK1.

    ______________________________________________
    FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
    Para editar sua configuração na lista, use o endereço
  http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
    Para consultar mensagens antigas: http://firebase.com.br/pesquisa
  ______________________________________________
  FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
  Para editar sua configuração na lista, use o endereço
  http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
  Para consultar mensagens antigas: http://firebase.com.br/pesquisa

  ______________________________________________
  FireBase-BR (www.firebase.com.br) - Hospedado em www.bavs.com.br
  Para editar sua configuração na lista, use o endereço http://mail.firebase.com.br/mailman/listinfo/lista_firebase.com.br
  Para consultar mensagens antigas: http://firebase.com.br/pesquisa



Mais detalhes sobre a lista de discussão lista