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.spamfighter.com/lpt