none
Transação aberta RRS feed

  • Pergunta

  • O que acontece quando uma transação é iniciada e por algum motivo o form é fechado de forma inesperada, queda de energia ou outro tipo e a transação não é finalizada com commit ou rollback?

    Desenvolvendo em windows forms C#.

    Desde já agradeço pela ajuda e atenção de todos...

    Muito obrigado...

    sexta-feira, 20 de outubro de 2017 20:07

Respostas

  • Olá,

    Se não foi executado o commit os dados permanecem do jeito que tava. A transação é o banco de controla, mesmo você ter executado um insert dentro de uma transação, caso os outros falhem esse primeiro insert não será incluído. Ai cada banco de dados tem os níveis de transação.


    • Editado welington jrModerator sábado, 21 de outubro de 2017 00:15
    • Marcado como Resposta Borges2 segunda-feira, 23 de outubro de 2017 16:44
    sábado, 21 de outubro de 2017 00:10
    Moderador
  • O visual studio não trata nada, A vida dos objetos alocados na memória são gerenciado pelo garbager collector que pertence ao processo da aplicação sendo executada. Quando  a aplicação é fechada é "limpada" da memória também, e não fica em uma "sessão" que quando roda a aplicação novamente os dados se mantém.


    • Editado welington jrModerator segunda-feira, 23 de outubro de 2017 16:13
    • Marcado como Resposta Borges2 segunda-feira, 23 de outubro de 2017 16:43
    segunda-feira, 23 de outubro de 2017 16:11
    Moderador

Todas as Respostas

  • Olá,

    Se não foi executado o commit os dados permanecem do jeito que tava. A transação é o banco de controla, mesmo você ter executado um insert dentro de uma transação, caso os outros falhem esse primeiro insert não será incluído. Ai cada banco de dados tem os níveis de transação.


    • Editado welington jrModerator sábado, 21 de outubro de 2017 00:15
    • Marcado como Resposta Borges2 segunda-feira, 23 de outubro de 2017 16:44
    sábado, 21 de outubro de 2017 00:10
    Moderador
  • Entendi, mas como o visual studio trata essa transação instanciada, no caso (DbTransaction) ? Ela é descartada pelo garbage collector? ou fica uma transação aberta dentro do sistema ao entrar no sistema novamente?

    Desde já agradeço pela ajuda e atenção de todos...

    Muito obrigado...

    segunda-feira, 23 de outubro de 2017 12:23
  • O visual studio não trata nada, A vida dos objetos alocados na memória são gerenciado pelo garbager collector que pertence ao processo da aplicação sendo executada. Quando  a aplicação é fechada é "limpada" da memória também, e não fica em uma "sessão" que quando roda a aplicação novamente os dados se mantém.


    • Editado welington jrModerator segunda-feira, 23 de outubro de 2017 16:13
    • Marcado como Resposta Borges2 segunda-feira, 23 de outubro de 2017 16:43
    segunda-feira, 23 de outubro de 2017 16:11
    Moderador