Migrando para Firebird 2

Já iniciamos o processo de adaptação dos nossos aplicativos para o Firebird 2 aqui na Cadena. Hoje saiu o RC5, que tem grandes chances de ser a versão final.

O único ajuste necessário que encontramos até agora foi corrigir os comandos SQL que não usavam o alias das tabelas corretamente, o que no Firebird 2 é obrigatório. Exemplo:

SELECT C.NOME, V.DATA, V.VALOR
  FROM VENDAS V
  JOIN CLIENTES C ON CLIENTES.CODIGO = VENDAS.CLIENTE

Esse comando funcionaria no FB 1.x, mas não funciona no FB 2, pois você está definindo um alias para as tabelas, mas em outro local (nesse caso no JOIN) está usando o nome completo da tabela.

No FB 2, quando você declara um alias para uma tabela, você é obrigado a utilizá-lo em todo o SQL. Eu gostei dessa imposição, pois acaba deixar as instruções SQL mais organizadas.

Então essa instrução acima ficaria assim no FB 2:

SELECT C.NOME, V.DATA, V.VALOR
  FROM VENDAS V
  JOIN CLIENTES C ON C.CODIGO = V.CLIENTE

Uma ótima referência para a migração e que está nos ajudando muito é o livro Firebird 2 do Cantu (foto acima). Ele traz todas as novidades e destaca as diferenças para quem está migrando.  Se você trabalha com FB profissionalmente, é um investimento valioso.

14 Comments

  • Leonardo Silva
    4/10/2006 - 09:28 | Permalink

    Erick, qual o metodo de acesso que vocês fazem ao Firebird ? ADO, BDE, DBX, ou algum proprietário ? Vou ser sincero, em todos os meus sistemas, até hoje só usei ADO. Pode não ser um primor de performance, mas é bem aceitavel, e nunca tive problemas de incompatibilidade.

  • 4/10/2006 - 10:19 | Permalink

    Usamos DBX desde sempre e estamos satisfeitos.

  • Ediberto Alves
    5/10/2006 - 09:13 | Permalink

    Erick,
    Será que vai haver alguma imcompatibilidade do DBX com o FB 2 ????

    Grato.

  • 5/10/2006 - 09:34 | Permalink

    Duvido muito, não encontrei nada ainda.

  • Anderson
    5/10/2006 - 11:33 | Permalink

    Alguém sabe se existe incompatibilidade entre componentes Interbase Express e o Firebird 1.5.3 e mais recentemente o Firebird 2.0 ??

    Pergunto isto porque muitos falam que poderá haver no futuro e outros dizem que há (só que não sabem responder quais são os problemas). Já tenho alguns aplicativos usando componentes UIB e DBX, mas a Interbase Express ainda tem por enquanto o conjunto mais completo.

    Se alguém souber de algo e puder responder, agradeço.

  • Rodrigo
    21/1/2007 - 11:53 | Permalink

    Erick, utilizo o firebird a algum tempo com o IBX, porém, como surgiu a necessidade de utilizar no desenvolvimento mais de um banco de dados, então resolvemos migrar as aplicações para DBX. Gostaria de saber, qual driver você utiliza em suas aplicações. Se o driver for de terveiros, por favor, divulgue o site do fabricante…

  • 21/1/2007 - 16:52 | Permalink

    Ainda estou utilizando o driver do Interbase mesmo, que acompanha o Delphi.

  • Augusto Tavares
    2/4/2007 - 14:56 | Permalink

    Eu encontrei pela primeira vez problema no DBExpress com firebird 2 com multiple layers (select ….. (select …. from …) from ….

  • Richard
    6/7/2007 - 13:55 | Permalink

    estou usnado os componentes de conexao do nativo do interbase, porem nao consegui acessar o firebird 2… sera q nao a compatibilidade …
    obs:( tenho uma aplicacao com esses componentes… terei q mudar todos entao…? :(

  • 7/7/2007 - 11:41 | Permalink

    Tenho usado IBX em um projeto sem problemas. Quais componentes você está usando?

  • Casþer
    7/2/2008 - 16:34 | Permalink

    Estou utilizando ibx com fb2.0 e tive problemas em acessor o db pela rede. Terei que substituir o ibx ou voltar pra fb1.5.

  • 7/2/2008 - 16:58 | Permalink

    Casþer, já usei IBX com FB2 sem nenhum problema. Verifique tudo novamente.

  • Marcos
    11/5/2008 - 19:38 | Permalink

    Utilizo em todos projetos o componente IBClientDataSet, mas ele sumiu do Delphi 2007. Existe alguma instalação para repor aquele componente ?

  • Sergio
    12/2/2009 - 12:55 | Permalink

    Qual a melhor forma de migrar para o Firebird 2.0 ?
    Extrair os Metadados do Banco na 1.5 e recriá-los na 2.0 é uma boa alternativa, ou não precisa de nada disso ?

  • Leave a Reply

    Your email address will not be published. Required fields are marked *

    *

    You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>