Dirceu no meu caso é o provider que aplica as modificações. Dirceu Vasson Jr escreveu: > > > Ricardo > > Tive esse mesmo problema dias atrás. Crio os selects (quando são > complexos) > em uma stringlist, crio os datasets em run-time e aplico a instrução > direto > na tsqlquery. > > Só que um dia fiz uma instrução na stringlist, não limpeia stringlist > (stringlist.clear) e utilizei a mesma estrutura para outra instrução e > quando abri o clientdataset ocorria esta mesma mensagem. > > Veja se não há uma intrução com 2 ou mais tabelas. > > SDS/Dirceu > > _____ > > De: delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br> > [mailto:delphi-br@yahoogrupos.com.br > <mailto:delphi-br%40yahoogrupos.com.br>] Em > nome de Ricardo Lima > Enviada em: quarta-feira, 12 de agosto de 2009 16:46 > Para: delphi-br@yahoogrupos.com.br <mailto:delphi-br%40yahoogrupos.com.br> > Assunto: [delphi-br] Problema com transação(Mensagem: Não é possível criar > uma nova conexão por que o modo de transação é manual ou distribuída). > > Olá pessoal, > > Estou com um problema chato aqui, tem uma operação aqui que altero dados > em mais de uma tabela e utilizo transação para gravar os dados no banco, > o código é +/- assim: > > SqlConnecton.BeginTransaction; > Try > > ClientDataSet1.ApplayUpdates(0); > ClientDataSet2.ApplayUpdates(0); > ClientDataSet3.ApplayUpdates(0); > > ClientDataSet4.Open; //Nesse ponto da o erro > ClientDataSet4.FieldByName('CAMPOS').AsInteger := 10; > ClientDataSet4.Post; > ClientDataSet4.ApplayUpdates(0); > > SqlConnecton.CommitTransaction; > > Except > SqlConnecton.RollBackTransaction; > End; > > No meio da transação se eu tentar abrir uma query qualquer me retornar o > erro Não é possível criar uma nova conexão por que o modo de transação é > manual ou distribuída. > > Verifiquei também que se eu configura o GetMetaData para False no > SQLDataSet o erro não ocorre, usando o SQLMonitor vi que o erro acontece > no momento em que o SQLDataSet vai pegar os > meta dados da tabela. > > Alguem sabe o por que isso acontece? > > Uso Delphi 2009 + Sql Server 2005 e DBExpress; > > Obrigado. > > Ricardo Lima > > -- > Estou utilizando a versão gratuita de SPAMfighter para usuários privados. > Foi removido 5162 emails de spam até hoje. > Os usuários pagantes não têm esta mensagem nos seus emails. > Adquira SPAMfighter grátis aqui: http://www.spamfigh > <http://www.spamfighter.com/lpt <http://www.spamfighter.com/lpt>> > ter.com/lpt > > [As partes desta mensagem que não continham texto foram removidas] > >
-- Estou utilizando a versão gratuita de SPAMfighter para usuários privados. Foi removido 5167 emails de spam até hoje. Os usuários pagantes não têm esta mensagem nos seus emails. Adquira SPAMfighter grátis aqui: http://www.spamfighter.com/lpt