Uma dúvida muito comum:
Como executar um pacote DTS via código?
Muito simples… podemos a partir do DOS digitar o seguinte comando:
dtsrun /S nome_servidor /E /N nome_do_pacote
O pacote será executado.
Aí me perguntam: Ah, mas eu quero executar a partir do SQL Server!
Ok, existe a opção de utilizar a procedure xp_cmdshell para executar o mesmo comando. Ficaria mais ou menos assim:
EXEC master..xp_cmdshell ‘dtsrun /S nome_servidor /E /N nome_do_pacote’
Porém é bom deixar um alerta: Essa procedure só pode ser executada por sysadmins, e no SQL Server 2005 ela vem desabilitada, (se você quiser utilizá-la deverá realizar isso na SQL Server Surface Area). Isso tudo por razões de segurança, afinal ela tem o poder de executar comandos no sistema operacional… tire suas próprias conclusões sobre isso e pense se é viável habilitá-la em seu ambiente.
Pra finalizar, segue abaixo alguns parâmetros que podem ser interessantes na utilização do comando dtsrun:
- Executar comando utilizando login do Windows:
/E (Conexão confiável) - Executar comando utilizando login do SQL:
/U login /P senha - Se o pacote tiver uma senha:
/M senha
Para ter acesso a uma relação completa digite apenas dtsrun no prompt do DOS e Enter ou acesse este link: http://msdn.microsoft.com/en-us/library/aa224467(SQL.80).aspx.
Até +