Comentários sobre: Como trabalhar com multiplas transações utilizando dbExpress Framework http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/ Andreano Lanusse blog - artigos, tutoriais e vídeos sobre tecnologia, desenvolvimento de software (Delphi XE4, C#, PHP, .NET) e técnicas de programação Thu, 07 Nov 2019 19:07:02 +0000 hourly 1 https://wordpress.org/?v=6.5.7 Por: Daniel de Paula Romanini http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-54345 Thu, 07 Nov 2019 19:07:02 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-54345 Ola Boa tarde estou com erro ao iniciar a transação no SQLConnection com SQLServer. O erro é esse : First chance exception at $772E3572. Exception class TDBXError with message

Foi negada uma solicitação para estabelecer conexão com o gerenciador de transações.
‘.
Alguém sabe o que pode ser ?

Obrigado.

]]>
Por: Paulo Linhares http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-42242 Thu, 29 Jan 2015 15:38:49 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-42242 Quanto as aplicações fireDAC, qual a forma correta de se gravar as informações no PostgreSQL e se tem algum artigo detalhando sobre esse assunto. Somente o Post() seria suficiente para gravar os dados. O FireDAC já faz todo resto automático?

]]>
Por: Marlon http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-13578 Sun, 11 Nov 2012 14:54:08 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-13578 Após varias consultas na documentação do Mysql:
http://dev.mysql.com/doc/refman/5.1/en/dynindex-isolevel.html

“Eu” não encontrei uma solução prática para meu problema.

Ou seja, não tem como voce criar mais que uma transação na mesma sessão, para resolver o problema que eu tinha postado no tópico anterior, tive que criar uma nova sessão(Conexão) para cada transação que eu tinha.

Na minha aplicação o usuário pode abrir abrir várias abas(TabSheet) – TDI e cada aba tem sua transacao independente uma da outra.
Imagine duas abas de cadastro sendo alterada ao mesmo tempo, no modelo anterior o primeiro cadastro que executasse um COMMIT os dois cadastro em aberto eram comitados.

para resolver o problema, tive que criar em cada Aba Aberta uma nova sessão no banco:
Conexao := TDBXConnectionFactory.GetConnectionFactory.GetConnection(‘Falcon Financas’, ‘falcon’, ‘**********’);

e apos fechar a aba matar a sessão ativa.

Somente assim consegui resolver o problema de varias transaçoes ser executadas ao mesmo tempo, sem nenhuma interferir com a outra.

Att, Marlon Nardi

]]>
Por: Marlon http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-13453 Fri, 09 Nov 2012 20:34:30 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-13453 Andreano,

estou realizando a mesma Rotina que voce demonstrou, porém no meu caso aparesenta erro na linha 53;

” A transaction is already active.”

Estou utilizando o Delphi 2010 – MYSQL 51.1.53 (INNODB)

O que poderia ser ?

Att,

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-10251 Sun, 15 Jul 2012 05:04:49 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-10251 Em resposta a Rodrigo Assis de Morais.

@Rodrigo, o suporte a multiplas transações foi implementado a partir do Delphi XE, o 2007 não suporta mesmo não.

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-8421 Thu, 23 Feb 2012 01:34:50 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-8421 Em resposta a Ozamir Frias.

Ozamir,

só passar a data como string, você pode usar DateToStr para converter

]]>
Por: Ozamir Frias http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-8383 Mon, 20 Feb 2012 19:30:10 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-8383 boa tarde,

excelente post, mas como ficaria a formatacao para um campo date inves de uma string

InsertSQL : String = ‘Insert Into Country Values ( ”%s”, ”%s” )’;

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-6603 Sat, 08 Oct 2011 04:06:20 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-6603 Em resposta a Clécio.

@Clécio, recomendo você criar uma classe que tenha uma método que retorne a conexão quando você precisar.

]]>
Por: Clécio http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-6552 Fri, 30 Sep 2011 13:01:02 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-6552 Bom dia a todos! Andreano poderia responder uma dúvida? Se tenho várias classes DAO que são responsáveis por consultas no banco, como poderia fazer da melhor forma para usar a DBXExpress Framework, teria que ter em todo método uma conexão, por ex.:

*****método de pesquisa*****

aDBXConn:= TDBXConnectionFactory.GetConnectionFactory.GetConnection
(‘nomedaconexaodbxexpress’, ‘user’, ‘password’);

aCmnd := aDBXConn.CreateCommand;

aDBXTrans := aDBXConn.BeginTransaction(TDBXIsolations.ReadCommitted);

// Start transaction
aCmnd.Text := ‘sql’;

aCmnd.Prepare;
aReader := aCmnd.ExecuteQuery;

…. continua….
*****método para segunda pesquisa*****

aDBXConn:= TDBXConnectionFactory.GetConnectionFactory.GetConnection
(‘nomedaconexaodbxexpress’, ‘user’, ‘password’);

…… continua

ou teria outra forma melhor de implementar? Tipo criando uma classe de conexão, etc. Como sugestão poderia nos mostrar em um outro post como usar o DBXExpress Framework para Criar aplicações MVC.

Grato e até mais…

]]>
Por: Rodrigo Assis de Morais http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-6394 Tue, 06 Sep 2011 21:33:29 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-6394 Sr. Andreano,

Multiplas transações em oracle utilizando Delphi 2007 eu não consigo fazer como você fez no seu artigo. Como faço nesse cenário ?

Obrigado!

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1390 Thu, 07 Oct 2010 21:32:26 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1390 Em resposta a Carlos Henrique Agnes.

Oi Carlos,

Basta ter objetos transacionais diferentes. Em uma aplicação DataSnap você irá controlar transação no server method ou através de ClientDataSet, não tem conflito.

Sobre o ThreadID sim, tudo no Datasnap é thread safe

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1389 Thu, 07 Oct 2010 21:29:59 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1389 Em resposta a Carlos Henrique Agnes.

Carlos, não entendi nada 🙂

]]>
Por: Carlos Henrique Agnes http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1387 Thu, 07 Oct 2010 18:41:01 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1387 Sobre meu post anterior: quanta utilização do verbo verificar hehehe… não ficou bom, mas acho que deu para entender.

]]>
Por: Carlos Henrique Agnes http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1386 Thu, 07 Oct 2010 17:12:26 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1386 Beleza Andreano!

Seguinte, na linha 53, não deveria continuar o nível de isolamento ReadCommited?

E sobre a intercalação de transações, como faço para começar duas transações, e escolher através de qual transação quero rodar um comando? Ouitro exemplo, em uma aplicação DataSnap, onde o objeto de conexão é compartilhado, como faço para o BeginTransaction de um cliente não interferir nos demais clientes?

Ainda sobre o DataSnap, verifiquei que posso verificar qual usuário está rodando um comando verificando o ThreadID, este procedimento é seguro?

Abraço,
Tatu!

]]>
Por: Carlos Eduardo Paulino http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1073 Wed, 28 Jul 2010 20:13:41 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1073 Andreano, muito obrigado por mais este artigo, algum tempo atraz estava preocupado pois não havia conseguido trabalhar isso no DBX4 e não encontrava a documentação.

]]>
Por: Andreano Lanusse http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1038 Tue, 13 Jul 2010 03:23:42 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1038 Emiliano, se você procurar no Google “ferramenta case para delphi” encontrará várias opções. Eu não poderia recomendar alguma em específico, pois não sei o que você espera de uma ferramenta case.

Eu particularmente não gosto de ferramentas cases, as que você citou geram uma falsa impressão de produtividade, pois depois a manutenção se torna difícil e custosa.

O Delphi por si só oferece inúmeros recursos que permitem o desenvolvedor criar aplicações de alta qualidade com alta produtividade.

]]>
Por: Emiliano Monteiro http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1035 Mon, 12 Jul 2010 04:15:26 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1035 Prezado Sr. Adreano

Bom dia

O sr. conhece alguma ferramenta similar ao Genexus ou Maker que possa gerar o código do sistema modelado para Delphi?
Ou seja uma ferramenta CASE para Delphi?

já ví o x-maker mas achei desatualizado e não trabalha com a versão atual do delphi.

grato,

Prof. Emiliano Monteiro

]]>
Por: Tweets that mention Como trabalhar com multiplas transações utilizando dbExpress Framework | Andreano Lanusse Blog em Português -- Topsy.com http://www.andreanolanusse.com/pt/como-trabalhar-com-multiplas-transacoes-utilizando-dbexpress-framework/#comment-1033 Mon, 12 Jul 2010 00:22:46 +0000 http://www.andreanolanusse.com/pt/?p=980#comment-1033 […] This post was mentioned on Twitter by andreanolanusse. andreanolanusse said: Blog post: Como trabalhar com multiplas transações utilizando dbExpress Framework http://bit.ly/cJi2z6 #delphi […]

]]>