Cannot create new connection because in manual or distribute
30/04/2008
0
´Cannot create new connection because in manual or distributed transaction mode´
Uso Delphi 7 , SQL SERVER 2000 e DBExpress.
O mesmo aplicativo roda em ORACLE e nele não ocorre erro algum !
Diferente de tudo que já achei é que da este erro quando dou um Open em um SQLQuery , mas em 100 ¬ dos casos que eu vi este erro acontece quando está em uma transação e a solução é dar um CLOSEDATASETS, mas no meu caso não posso fechar todos meu datasets ativos pois dependo deles.
Alguem pode me ajudar ?
Se sim ai eu passo mais informações
Murilo-jau
Posts
30/04/2008
Murilo-jau
30/04/2008
Murilo-jau
A Query em que estava dando o ero, era uma query criada em tempo de execução pois ela está dentro de uma Unit.
Achei em um forum um caso de um erro pareciso e que a solução seria marcar as opções
poFetchBlobsOnDemand e
poFetchDetailsOnDemand
do DataSetProvider com valor FALSE.
Com isso tive a idéia de criar os 4 componentes ( sqq, dts, dsp, qry) em tempo de projeto no meu Data Modulo. Deixei as opções do Provider como indicado no outro forum e funcionou. !!! :shock:
Problema resolvido !
Mas ainda se possivel preferia não ter que cria no Data Modulo, mas como não consegui acessar as opções do Provider em tempo de execução nem mesmo por um SimpleDataSet por enquanto vai ficar assim mesmo !
26/05/2008
Murilo-jau
Estou no mesmo caso, depois de ter iniciado a transação tenho que fazer varias consultas e em uma quando dou um Open em uma Query criada em tempo de execução, e acontece o mesmo erro.
Tentei fazer criando o conjunto dos 4 componentes como fiz no caso anterior mas agora isso não adianta o erro continua.
Eu usei um CLOSEDATASETS, o erro não acontece mas ai dá erro na regra de negócios pois fecha alguns resultados que eu necessito.
Alguem tem alguma solução ?
no site da Microsoft fala que devo mudar o DBPROP_MULTIPLECONNECTIONS
do DataSource de VARIANT_TRUE para False, mas não sei como fazer isto.
http://support.microsoft.com/?scid=kb¬3Ben-us¬3B272358&x=14&y=10
26/05/2008
Murilo-jau
O erro acontece por ter + de uma conexão ativa dentro da Trasação,
no meu código quem realizava a 1ª conexão era um SQLQuery, ai só substitui eles por um SimpleDATASet e pronto, eu não mexi na Query que estava ocorrendo o erro e sim em uma anterior.
UFA !!!
Clique aqui para fazer login e interagir na Comunidade :)