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

Gladiston Santana gladiston em vidy.com.br
Qui Jul 3 13:16:38 -03 2014


O IBExpert tem a versão desktop que é a comumente utilizada.
Mas se voce gera scripts com ele, o script tem características diferentes
do padrão do Firebird.
Rodar esse script fora do IBExpert tem licenciá-lo a parte.

Sobre transações em DDL, o problema é que ele fará autocommit ao término de
cada instrução, para mudar este comportamento voce deve setar o jeito que
deseja as transações.



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
>



-- 
--
B em B@BU     iB em M@B.  B em MBBO   MBBMMB em B@BZLr    E@@@@i      r@@@BU
vB em M@O     E em B@Bu   BBBM em 0   G em MMM@N8MBB em ZP5r  B em B@k      8B@@O
 OB em B@q   2 em BBBM    B em B@BO   BB em B@B,.:,7B em B@@L uB em B@,    OB em B@.
 ,@@@B@   @BBB@,    @BBB em 8   M em M@@@     PB em B@B  @@@BN   iB em B@L
  U em B@B2 LB em B@X     B em MBBO   MBBM em B     i em BBB@. 7 em B@Bi  B em B@E
   B@@@BiM em M@B.     @BBM em G   M em MMB@     v@@M em B,  G em B@Z v em B@B.
   7B em B@O em B@B5      B em B@B8   BBBM em B     Z@@@B@   iB@@@2 em B@Br
    NB em M@B em B8       @B em B@8   M em B@B em i:i75 em B@B em r    E@@B em B@Bq
    . em B@@@B@:       B em B@B@   @B@@@B em B@B@@@ME;     .BB em MBB@
     55.ANOS        OMOGBS   PBZGGOOMOO117,        7 em BBB@r
     ==============================================r@@@@F=====
     Gladiston Santana                             8 em B@B,
     Supervisor de TI                             G em B@B7
     Tel.:+551147873122 R:228                    :@B em B0
     Grupo VIDY - SGQ ISO9001 - 55 ANOS          @B em B@.
     Visite nosso site: www·vidy·com·br         BB@@@u
     Visite também : www·expolabor·com·br      GB em B@N



Mais detalhes sobre a lista de discussão lista