Estamos vendo uma tarefa Sql / pacote DTS falhar porque é alimentado com dados de caracteres não numéricos em uma rotina de conversão int.
Os dados parecem com uma probabilidade muito alta que vêm de outra coluna em nossas tabelas, onde seu formato não numérico é apropriado.
Isso ocorreu mais de uma vez.
Alguém já ouviu falar de um pacote Sql / DTS "perdendo o rumo" e acessando dados da coluna errada?
Eu consideraria isso uma possibilidade rara, mas estamos usando um sistema SSMS 2008 R2 para pacotes DTS (que mesmo nesse sistema são considerados desatualizados) e suponho que tudo seja possível ....
Parece (pelo menos neste caso) que a coluna estava sendo acessada normalmente em uma cláusula join.
Foi um pouco semelhante a fazer:
a.altura = b.peso
Além disso, imagine que o peso é um dobro, enquanto a altura é dada como uma polegada arredondada int, e que de alguma forma um int é esperado em peso...
embora essa não fosse a situação exata (realmente tentou converter um char em int), ela se aproxima um pouco disso ...
Aparentemente, a lógica circundante impediu que essa cláusula realmente fosse executada na maioria das vezes, portanto, o erro que de outra forma seria bastante óbvio foi oculto.
Um colega descobriu.
Ainda assim, isso pode ajudar alguém ......