none
Select Into com Linked Server RRS feed

  • Pergunta

  • Pessoal,

     

    É possível eu fazer um select into em um server e que a cópia desta tabela seja feita para um outro server? (Linked Server) Como fazer? que tipo de problemas posso ter?

     

    Desde já agradeço

     

    Leonardo

    quarta-feira, 11 de abril de 2007 15:03

Todas as Respostas

  • e perfeitamente possivel desde que vc. tenha direitos, nao vejo problemas neste processo qual a sua ideia ?
    quarta-feira, 11 de abril de 2007 16:04
  • Marcelo,

    Primeiramente, muito obrigado pelo breve retorno.

    Minha idéia é a seguinte:

     

    Suponhamos que tenho 2 servers SRV1 e SRV2, sendo que o SRV1 tem um linked server para o SRV2 com o nome link_srv2.

    Eu quero criar uma tabela no banco do SRV2 que seja o resultado do select into no SRV1. Está meio confuso, vc conseguiu entender? Se sim, como eu posso fazer isso?

     

     

    quarta-feira, 11 de abril de 2007 17:04
  • sem problemas mais faca assim no servidor que vc. quer o backip

     

     select * into tabela from openquery(nome_linked, 'select * from tabela')

     

    Abs;

    quarta-feira, 11 de abril de 2007 17:47
  • Colla,

     

    Legal utilizar o Openquery, desta forma, o SQL Server vai trabalhar com o conceito Query Ad-Hoc, com isso ele não vai geral log, com certeza fica muito mais rápido e seguro o processo.

     

    Boa sugestão.

    quinta-feira, 12 de abril de 2007 11:19
    Moderador
  • ola pessoal

    estou com o mesmo problema, mas so que eu consegui perfeitamente fazer a conexao e os sql no oracle, mas eu queria se teria como eu usar uma variavel do sql no oracle

    por ex.

    INSERT INTO #tmp SELECT * FROM OPENQUERY(teste, 'Select * from Defeito Where REA =''' + @Area + '''')

     

    mas nao esta funcionando

     

    sera que alguem tem alguma ideia?

     

    quarta-feira, 27 de abril de 2011 17:20
  • Boa Tarde,

    O problema está na construção do OPENQUERY. Essa construção não é válida, pois, o OPENQUERY não pode ser parametrizado.

    Sugiro tentar o uso do EXEC AT. Ex:

    DECLARE @cmdOracle VARCHAR(200)
    SET @cmdOracle = 'SELECT * FROM Defeito WHERE REA = ''' + @Area + ''''
    INSERT INTO #tmp
    EXEC(@cmdOracle) AT Teste
    

    [ ]s,

    Gustavo Maia Aguiar
    http://gustavomaiaaguiar.wordpress.com


    Classifique as respostas. O seu feedback é imprescindível
    quarta-feira, 27 de abril de 2011 19:29
  • é cara assim ele funcionou mas so que nao funciona com data e é o que eu preciso

     

    tem ideia de como fazer??

     

    terça-feira, 10 de maio de 2011 17:40