none
Executar arquivos .sql pelo Integration Services RRS feed

  • Pergunta

  • Pessoal,

     

    Existe algum componente que eu possa utilizar no Integration services para executar scripts .sql? preciso executar comandos sql dentro de arquivos pelo Integration Services, qual a melhor maneira?

     

    Valeu!

     

    sábado, 26 de julho de 2008 14:28

Todas as Respostas

  • Bom Dia,

     

    Existem algumas formas de fazer isso. Citarei duas possíveis:

     

    Utilização da tarefa Execute Process

    Você pode utilizar a tarefa Execute Process para executar o SQLCMD e o SQLCMD referenciar seu script SQL.

     

    Utilização da tarefa Execute SQL

    Essa tarefa executa scripts .sql contra uma conexão e o conteúdo da instrução SQL pode ficar em um arquivo. Você só terá que criar um Connection Manager do tipo File Connection apontando para o arquivo.

     

    As duas alternativas são interessantes. Acredito que a segunda seja a mais "correta" mas a primeira pode ser um pouco mais flexível. Se ao invés de chamar o SQLCMD diretamente você chamar um arquivo BAT, você pode codificar o SQLCMD dentro da BAT e alterá-lo sempre que desejar. No Execute SQL você acabaria tendo de mudar o apontamento do File Connection. Se isso for acontecer, use a primeira alternativa (com um arquivo BAT). Senão for acontecer, a segunda é mais indicada.

     

    [ ]s,

     

    Gustavo

     

    sábado, 26 de julho de 2008 14:41
  • Obrigado Gustavo, o cenário que temos aqui é o seguinte:

     

    Existe um diretório onde serão publicados os scripts sql; a idéia é ler cada um desses arquivos e executá-los, gravando um arquivo de log para cada execução em uma pasta "result"; fizemos um cursor que lê cada um dos arquivos e chamamos uma .bat via cmdshell que usa o comando isqlw para rodar os scripts; o problema é que na .bat fica o login e a senha do banco e o usuário não pode ter acesso; a idéia que tivemos para contornar isso foi criar um pacote .dtsx com senha que faria o mesmo papel da .bat porém sem o usuário ter como editar o arquivo, você vê alguma outra solução?

     

    [ ]s,

     

    Sérgio Duarte

    sábado, 26 de julho de 2008 15:15
  • Boa Noite,

     

    Acho que o ideal mesmo seria você construir um aplicativo para tal, mas se essa hipótese estiver descartada, com certeza o SSIS é uma alternativa melhor que um cursor com uma xp_cmdshell. Achei sua dúvida interessante e como estou estudando SSIS postei o procedimento de como fazer isso no meu blog. Dê uma olhada no link abaixo:

     

    http://gustavomaiaaguiar.spaces.live.com/blog/cns!F4F5C630410B9865!157.entry

     

    Poste novamente se tiver ajudado a resolver o seu problema

     

    [ ]s,

     

    Gustavo

    domingo, 27 de julho de 2008 03:33