Home > Firebird > Extraindo metadata de um banco Firebird

Extraindo metadata de um banco Firebird

Hoje precisei incluir no script de build de um projeto a extração automática de metadata do banco de dados de desenvolvimento. Normalmente eu realizo esse processo manualmente através do IBExpert e não me lembrava como fazer isso via linha de comando. Um pouco de pesquisa na documentação do Interbase 6 (que ainda é a maior documentação disponível para o Firebird, visto que este se originou a partir do IB6) e achei:

isql -extract -o [nome arquivo] [banco de dados]

Exemplo:

isql -extract -o metadata.sql banco.fdb

Onde metadata.sql é o arquivo que será gerado, e banco.fdb é meu banco Firebird supondo que ele está no diretório atual. Claro que a pasta bin do Firebird tem que estar no path, pois é lá que o isql se encontra.

Uma das utilidades deste recurso é por exemplo incluir no seu build a extração de metadata e atualização deste no controle de versão.

Categories: Firebird Tags:
  1. Daniel Wildt
    February 3rd, 2005 at 09:33 | #1

    Show de bola Eric, estava precisando fazer isto agora mesmo! :-)
    Feed providencial!

  2. Erick
    February 3rd, 2005 at 09:36 | #2

    Que bom que foi útil! :)

  3. Ronnei Peterson
    May 17th, 2005 at 21:18 | #3

    E ai Erick, você tem o manual da estrutura do Interbase, tipo como funciona os relacionamentos das tabelas de Sistema dele, para mim por exemplo extrair a ordem que as tabelas deveriam ser inseridas de uma base para outra para nao problema de chave estrangeira???

  4. Erick
    May 17th, 2005 at 21:26 | #4

    Não tenho não, talvez vc encontre algo no site firebase.com.br.

  5. June 1st, 2005 at 08:05 | #5

    Erick, grato pela dica. Acabei de testar e funcionou legal. Mas como faço pra incluir as instruções de alimentação dos dados junto com a DDL?

  6. Erick
    June 1st, 2005 at 12:31 | #6

    Boa pergunta, mas não sei. Dê uma pesquisada na documentação do IB6 Open Source, pois é a documentação mais detalhada existente “relacionada” ao Firebird.

  7. eDSON
    November 18th, 2008 at 08:46 | #7

    TEstei aqui e nao deu certo… ele criou o arquivo metadata.sql que ficou vazio e deu uma mensagem de erro statement Failed, SQLCODE = -902

    e seu a mensagem do nome e senha nao está definido.

  8. Leandro Lustosa
    October 14th, 2009 at 09:11 | #8

    Bom dia.
    Seu artigo foi muito útil pra mim. Entretanto tive o mesmo problema do colega acima. Só para complementar, no fim do comando basta insetir -u [nome de usuário] -p[senha de acesso] que funciona. o comando completo ficaria assim:
    isql -extract -o [nome arquivo] [banco de dados] -u [nome de usuário] -p[senha de acesso]
    exemplo:
    isql -extract -o metadata.sql banco.fdb -u sysdba -p masterkey

    valew galera, abraço!

  1. January 30th, 2006 at 21:37 | #1