none
EXECUÇAO DTS POR COMANDO RRS feed

  • Pergunta


  • Boas pessoal, 
    Não consigo rodar o DTS via xp_cmdshell (ja habilitei), so que quando abro o DOS ele executa sem problema. 
    gostaria de colocar via xp_cmdshell, pois esse processo vou deixar agendado.

    e quando eu colo no step de um job com a opçao de powershell ele da erro

    o comando que estou usando é esse

    dtsrun /S SRV /E /N nome_dts

    agradeço desde ja

    sexta-feira, 3 de outubro de 2014 14:33

Respostas

  • Verifique se esta neste caminho:

    C:\Program Files\Microsoft SQL Server\xxx\Tools\Binn\DTSRUN 

    onde XXX pode variar de acordo com a versao do SQL.

    []´s 

    sexta-feira, 3 de outubro de 2014 19:19
  • Ah!

    Lembrei também do DTEXEC:

    C:\>dtexec
    Microsoft (R) SQL Server Execute Package Utility
    Version 10.50.1600.1 for 32-bit
    Copyright (C) Microsoft Corporation 2010. All rights reserved.

    At least one of the DTS, SQL, or File options must be specified.

    sexta-feira, 3 de outubro de 2014 19:20

Todas as Respostas

  • Uelson,

    Minha sugestão, declare uma variável do tipo Varchar(Max) ou Varchar() com um tamanho fixo, atribua para esta variável o comando que deve ser executado, e através do comando Exec chamando o XP_CMDShell você passa a varíavel para ser executada.

    Veja este exemplo:

    Declare @Comando Varchar(500)
    
    Set @Comando='bcp Master..Test out c:\teste.csv -SSERVIDOR -c -t, /CACP -T'
    
    Exec xp_cmdshell @Comando


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    sexta-feira, 3 de outubro de 2014 14:39
  • Galvao, 

    Tentei fazer como pediu retorna o mesmo erro 

    " 'dtsrun' is not recognized as an internal or external command "

    o comando foi 

    Declare @Comando Varchar(500)
    Set @Comando='dtsrun /S SRV /E /N nome_dts'
    Exec xp_cmdshell @Comando

    sexta-feira, 3 de outubro de 2014 14:57
  • Creio que terá que colocar todo o caminho do dtsrun ou atelrar o path das variaveis de ambiente.

    sexta-feira, 3 de outubro de 2014 17:09
  • Uelson,

    Concordo com o Advaldo, ou então adicionar o caminho do DTSRun no Path do Windows.


    Pedro Antonio Galvão Junior [MVP | Microsoft Evangelist | Microsoft Partner | Engenheiro de Softwares | Especialista em Banco de Dados | Professor Universitário | SoroCódigos] @JuniorGalvaoMVP | pedrogalvaojunior.wordpress.com

    sexta-feira, 3 de outubro de 2014 17:25
  • Galvao / Advaldo

    Teriam algum exemplo de como ficaria nao querendo abusar mais ja abusando

    sexta-feira, 3 de outubro de 2014 17:46
  • Verifique se esta neste caminho:

    C:\Program Files\Microsoft SQL Server\xxx\Tools\Binn\DTSRUN 

    onde XXX pode variar de acordo com a versao do SQL.

    []´s 

    sexta-feira, 3 de outubro de 2014 19:19
  • Ah!

    Lembrei também do DTEXEC:

    C:\>dtexec
    Microsoft (R) SQL Server Execute Package Utility
    Version 10.50.1600.1 for 32-bit
    Copyright (C) Microsoft Corporation 2010. All rights reserved.

    At least one of the DTS, SQL, or File options must be specified.

    sexta-feira, 3 de outubro de 2014 19:20