none
Executar DTS RRS feed

  • Pergunta

  • Bom dia,

     

    Tenho um DTS para importação de uma determinada tabela em um servidor SQLServer e estou tentando executa-lo através de um código em Visual Basic, no entanto o mesmo aparentemente é executado sem erros, porém o resultado nao esta sendo o esperado, ou seja, a tabela nao esta sendo atualizada no SQLServer, o codigo que utilizo segue abaixo;

     

            Dim pkg As DTS.Package
            Set pkg = New DTS.Package
            pkg.LoadFromSQLServer "<servidor>", "262777", "262777", _
            DTSSQLStgFlag_Default, "", "", "", "Resultados Analises"
            pkg.Execute

     

    Se alguém puder me ajudar eu agradeço.

    Abraços

     

    quarta-feira, 21 de maio de 2008 15:11

Todas as Respostas

  • Linaldo,

     

    Mas alguma mensagem de erro é retornada?
    quarta-feira, 21 de maio de 2008 16:40
  • Boa Tarde,

     

    Se você executar o pacote pelo Enterprise Manager ou pelo DTSRUN ele atualiza as tabelas corretamente ?

     

    [ ]s,

     

    Gustavo

     

    quarta-feira, 21 de maio de 2008 17:01
  •  

    Junior boa tarde,

     

    Quando executo o codigo eu faço isso atraves do debugador do VB, e o mesmo é executado corretamente sem retornar nenhuma mensagem de erro, porem a tabela nao é atualizada.

     

     

    quarta-feira, 21 de maio de 2008 18:07
  • Gustavo boa tarde

     

    O pacote é executado corretamente tanto pelo DTSRUN quanto pelo Enterprise Manager, na verdade fiz esses testes utilizando as ferramentas citadas até mesmo para verificar se o o meu DTS estava correto.

     

    quarta-feira, 21 de maio de 2008 18:10
  • Boa Tarde,

     

    Gostaria primeiro que tratássemos sua dúvida apenas nessa sessão do fórum. O seu post foi colocado duas vezes na sessão de Query, Ansi, Scripting e foi excluído (é preciso centralizar a discussão para que uma mesma solução não seja postada em múltiplos lugares).

     

    Será que sua aplicação no VB não tem nenhum tratamento de erro como ON ERROR RESUME NEXT ?

     

    Coloque alguma tarefa no pacote que sirva de marco. Se a tarefa executar saberemos que o pacote passou por ali.

     

    Lembre-se que conexões do tipo (local), apontamentos para pastas locais, mapeamento no CliConfg, etc são diferentes dependendo de onde o pacote está sendo executado.

     

    [ ]s,

     

    Gustavo

    quarta-feira, 21 de maio de 2008 18:22
  • Boa tarde Gustavo,

     

    Acabei postando minha dúvida em mais que uma sessão por imaginar que um público diferente acesse cada tópico em aberto.

     

    Mas de qualquer maneira eu nao estou trabalhando com tratamento de erro ao executar a rotina, alem disso eu estou acompanhando a execução atraves do debugador do VB e as linhas de código postadas acima sao excutadas sem nenhum problema aparente.

     

    Fiz um teste passando por exemplo um nome de DTS inválido, ou usuário e senhas inválidos tb, e ai sim ao executar o codigo me é apresentado uma mensagem de erro relacionada a nome de DTS errado ou a usuario/senha inválidos tb.

     

     

     

    quarta-feira, 21 de maio de 2008 18:42
  • Olá Linaldo,

     

    Realmente pode acontecer de postar uma dúvida em vários lugares principalmente quando envolve tecnologias diferentes (uma dúvida de .NET que envolve um erro no SQL Server por exemplo). No entanto, o público desses fórums está na mesma categoria (SQL Server), além do que DTS é um tópico muito mais relacionado a BI que propriamente Query, Scripting & ANSI.

     

    Minha primeira sugestão atestou então que não um tratamento que esteja ignorando o erro, mas e se colocássemos algumas tarefas nesse pacote para verificar se essas tarefas são executadas ? Coloque um EXECUTESQL, o envio de uma mensagem ou algo do tipo. Se a tarefa for executada, saberemos por onde o pacote passou

     

    [ ]s,

     

    Gustavo

     

    quarta-feira, 21 de maio de 2008 18:53
  • Boa noite Linaldo

     

    Sua tabela de origem não tem nenhum campo de Data como Texto "String", Tenho um Dts no VBA que copia de uma planinha excel e todas vez que é adicionada uma data invalida não atualiza mais tambem não da erro. Da uma verificada pode ser isso dados invalidos para determinado tipo.

     

     

    Valeu.

     

    sexta-feira, 23 de maio de 2008 22:16
  •  

    Ola bom dia Anselmo,

     

    O meu DTS serve para importar uma tabela do ACCESS para o SQLServer, e os campos data eu estou tratando com um transform o que elimina a possibilidade de data errada, no entanto mesmo assim a importação nao esta sendo feita com sucesso, o estranho é que realmente o sistema nao me retorna mensagem de erro, simplesmente executa a linha do código e pula para a próxima linha sem executar de fato o DTS.

    segunda-feira, 26 de maio de 2008 11:57
  • Olá Anselmo,

     

    A sugestão anterior não foi suficiente ?

     

    Se você não puder implementá-la, eu sugeriria que você tentasse importar menos registros ou menos colunas para verificar se algo é importado. Isso poderia ajudar a descobrir se a presença de alguma coluna ou registro específico está provocando algum erro.

     

    A única coisa que o pacote faz é executar uma tarefa Transform Data ?

     

    [ ]s,

     

    Gustavo

     

    segunda-feira, 26 de maio de 2008 14:22
  •  

    Ola Gustavo boa tarde,

     

    O meu DTS faz o seguinte, sendo que o mesmo eu criei dentro da pasta Local Package no meu servidor SQL;

     

    1o. - Dou um Drop para apagar uma determinada tabela existente no SQLServer

    2o. - Cria a Estrutura de uma determinada tabela dentro do SQLServer a partir de uma tabela em ACCESS

    3o. - Faz o copy from de uma tabela do ACCESS para a tabela criada no SQLServer

     

    O meu DTS faz isso, sendo que executado no Enterprise Menager do servidor SQL onde o mesmo foi criado ele roda corretamente, mas quando o executa atraves da minha rotina em VB apontando para o referido servidor, ele só finge que esta fazendo algo, e o pior de tudo é que nem erro da.

     

    Grato

     

    segunda-feira, 26 de maio de 2008 22:04