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

Responder a