Inquiridor
Executar DTS

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.ExecuteSe alguém puder me ajudar eu agradeço.
Abraços
Todas as Respostas
-
-
-
-
-
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
-
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.
-
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
-
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.
-
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.
-
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
-
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