Array
(
)

Join com View de outro servidor SQL

Pedro Moriyama
   - 29 jan 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

Rodrigo Costa
   - 29 jan 2004

Você está usando linked server ?

Pedro Moriyama
   - 30 jan 2004

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

Rodrigo Costa
   - 30 jan 2004

Já tenteo apenas fazer um join sem begin transaction ?

Pedro Moriyama
   - 30 jan 2004

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.

Rodrigo Costa
   - 30 jan 2004

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

Pedro Moriyama
   - 30 jan 2004

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

Rodrigo Costa
   - 30 jan 2004

Disponha !