Join com View de outro servidor SQL

29/01/2004

Pessoal,

Possuo uma view que efetua um select em um servidor SQL diferente de onde ela foi criada. Quando utilizo um begin transaction para efetuar um join entre uma tabela e esta view o SQL retorna uma mensagem de erro dizendo que a Transação está sendo utilizada por outra Sessão.

Alguém tem idéia porque não roda este select quando possuo controle de transação ?

Muito Obrigado,
Pedro


Pedro Moriyama

Respostas

29/01/2004

Rodrigo Costa

Você está usando linked server ?


Responder Citar

30/01/2004

Pedro Moriyama

Rodrigo,

Estou usando linked server sim, cheguei a dar uma olhada no MSDN e ela informa que :

Loopback linked servers cannot be used in a distributed transaction. Attempting a distributed query against a loopback linked server from within a distributed transaction causes an error:

Msg: 3910 Level: 16 State: 1
[Microsoft][ODBC SQL Server Driver][SQL Server]Transaction context in use by another session.

Que é justamente o que está ocorrendo comigo.

Obrigado,
Pedro


Responder Citar

30/01/2004

Rodrigo Costa

Já tenteo apenas fazer um join sem begin transaction ?


Responder Citar

30/01/2004

Pedro Moriyama

Na verdade quando eu não utilizo o Begin Transaction funciona.

Só que eu preciso ter um controle de transações porque farei Update e Insert na base de acordo com as informações deste join.

Acho que a única coisa que posso fazer é inserir o resultado do join em uma tabela temporária e à partir dela efetuar os insert´s e update´s com controle transacional.


Responder Citar

30/01/2004

Rodrigo Costa

É, acho que é a melhor solução.


Responder Citar

30/01/2004

Pedro Moriyama

Acho que não tem outro jeito, segundo o MSDN não tem como mesmo, ele pede para separar as operações pq o SQL não comporta isto.

Muito Obrigado Rodrigo !!

[]´s

Pedro


Responder Citar

30/01/2004

Rodrigo Costa

Disponha !


Responder Citar