[firebase-br] commit ou rollback em um script.

Rodrigo Gomes da Silva rodrgomes em gmail.com
Qui Jul 3 13:55:22 -03 2014


Olha, não sei como o Fibscript/fibplus interage com transações, se a suite
tiver alguma forma de iniciar uma transação, um rollback nela devera
funcionar como vc precisa.
Toda alteração de metadata é controlada pela transação, tanto q se vc der
um drop em uma tabela e dar um rollback os dados vao ficar la. As
alterações de estrutura só são efetivadas no commit, por isto que vc
precisa de um se quizer incluir algum dado em algo novo criado.


Em 3 de julho de 2014 12:49, Siro <siro em protej.com.br> escreveu:

> Rodrigo.
>
> Este é um problema que tenho (rollback) que contornar quanto faço
> atualização do metadata.
> Antes de executar qualquer script, faço um backup, pois caso ocorra erro,
> tenho que retornar a versão que executou ou não, corretamente o primeiro
> script.
> Não é de "meu conhecimento" que é possível executar Rollback em DDL, "se
> não me engano" foi postado aqui uma informação sobre isto.
> Caso isto seja possível, gostaria de saber onde encontrar material para
> estudos.
> Utilizo Delphi com FibScript (FibPlus) para atualização do metadata e a
> possibilidade de rollback seria muito bem vinda.
>
> Gladiston
>
> Tenho muitos scripts que aprendi a criar, em baseando no  Ibexpert que
> utilizo(Customer), como por exemplo a manipulação de tabelas do sistema,
> mas dai ter que licenciar a distribuição do script. Não entendi.
> Por favor se eu estiver entendendo erroneamente,  me oriente.
>
> Desde já agradeço
>
>
> Siro
>
> Em 02/07/2014 11:31, Rodrigo Gomes da Silva escreveu:
>
>  Siro,
>>
>> Simplesmente não funciona DDL e depois um DML na mesma transação. Se vc
>> cria tabela e depois consegue povoar, então o engine ou script que vc ta
>> usando faz um commit do DDL, impossibilitando de dar um rollback de antes
>> da criação da tabela caso tiver algum problema com os dados.
>>
>> Se vc cria uma tabela e não da este commit não consegue fazer nenhum
>> acesso
>> a ela, nem pra inclusão de dados, nem mesmo pra consulta dela vazia.
>>
>>
>> Em 1 de julho de 2014 18:34, Siro <siro em protej.com.br> escreveu:
>>
>>  Não podem ou não devem?
>>> Pq faço isto a muito tempo e nunca tive problemas.
>>>
>>> Criar "Tabela".
>>> Povoar "Tabela".
>>> Criar "Campo", Alterar "Campo".
>>> Inserir dados referente aos Campos
>>> Etc...
>>>
>>>
>>>
>>> Em 18/06/2014 14:32, Gladiston Santana escreveu:
>>>
>>>   Colega,
>>>
>>>> Scripts DDL (create table e afins) não podem ser inseridos junto com DML
>>>> (update, insert...).
>>>> Então você simplesmente roda o script de DDL e commita no final,
>>>> recomendo
>>>> que gere o arquivo texto .sql e rode-o com o isql.exe <seuarquivo.sql,
>>>> se
>>>> não ocorrer o erro então submeter os insert/update/delete de dados de
>>>> que
>>>> precisa.
>>>> Se precisar manipular dados entre servidores distintos do tipo se falhar
>>>>>>>> também deve falhar cá, o chamado two phase commit, voce precisa de
>>>> componentes especiais como o AnyDac.
>>>>
>>>>
>>>> Em 18 de junho de 2014 09:55, Carlos Midia <carlosmidia2013 em gmail.com>
>>>> escreveu:
>>>>
>>>>   Bom dia a todos, mensalmente faço atualizações no banco de dados dos
>>>>
>>>>> clientes em gostaria de saber como faço para:
>>>>>
>>>>> tipo tenho 30 scripts ai se passar todos sem erro ele dar um commit
>>>>> e se der algum erro ele dar um  rollback .
>>>>>
>>>>>
>>>>> tipo como colocar esses scripts em um bloco de comando ao qual se der
>>>>> erro
>>>>> em algum comando deixar o banco de dados intato como era antes.
>>>>>
>>>>>
>>>>> meus comandos são tipo:
>>>>>
>>>>> criar tabela
>>>>> excluir tabela
>>>>> criar trigger
>>>>> excluir trigger
>>>>> insert
>>>>>
>>>>> e etc...
>>>>> ______________________________________________
>>>>> 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
>>>
>>>  ______________________________________________
>> 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