[firebase-br] TIBScript + FKs

Eduardo Jedliczka eduardo em gerasoft.com.br
Ter Jun 28 08:08:05 -03 2005


Ricardo,

Há um "comportamento" do IB/FB quanto à utilização de Objetos.

Justamente por isto, antes de operações como criação de FKs, Exclusão de FK
ou PK,  recomenda-se que você desconecte-se dabase, e reconecte. Assim, o
banco vai ter certeza, que não há ninguém usando... .(hehehe, é quase isto,
mas não quero escrever um livro chato sobre um assunto que quase ninguém
quer saber, não é mesmo ????)

Então, Ao invés de executar todos os comandos num único script, porque você
não secciona ele em várias partes (pode ser por código ou por componente) e
da um connect... alter table... commit.... connect.... e por aí vai...

funciona em 100% das vezes, apesar de que o connect deixa ele um pouco mais
lento.

[s]

==========================
Eduardo Jedliczka
Gerasoft Informática
Apucarana - Pr
==========================

----- Original Message ----- 
From: "Ricardo Acras" <ibfb em acras.net>
To: <lista em firebase.com.br>
Sent: Monday, June 27, 2005 7:49 PM
Subject: [firebase-br] TIBScript + FKs


> Opa,
>
>   Tenho algumas bases em produção e sempre que preciso alterar algo na
base
> eu gero um atualizador que roda scripts via TIBScript.
>   Consigo rodar quase tudo com ele, menos ALTER TABLES que adicionam
Foreign
> Keys. Não tenho nem idéia do por quê.
>   Comandos como:
>
> alter table romaneio add foreign key (codMarca) references marca
(codMarca);
>
>   geram o erro:
>
> "unsuccessfull metadata update object MARCA is in use".
>
>   Acontece que não está em uso, com certeza. Já testei em uma máquina fora
> da rede, logo após reiniciá-la e nada. Tentei restartar o server e nada. A
> maior evidência que é algo errado na minha aplicação de atualização é que
> logo depois de dar o erro eu entro no IBConsole e rodo a sentença e
funciona
> normalmente.
>
>   A arquitetura da minha aplicação de atualização é a seguinte:
>
>   Meu TIBScript está ligado a um TIBDatabase que possui uma TIBTransaction
> default. Ela tem TACommitRetaining como ação default, as outras
propriedades
> não estão alteradas.
>
>   Tentei também setar o AutoDDL para false e dar commit manualmente e tbem
> não funcionou.
>
> Agradeço.
> Um abraço.
>
> -- 
> Ricardo Acras
> ricardo em acras.net
> Acras Desenvolvimento de Sistemas
> www.acras.net
>
>
>
>
>
>


----------------------------------------------------------------------------
----


______________________________________________
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