Então, eu fiz algumas pesquisas e não consigo descobrir isso. Não tenho certeza se é alguma configuração que estou perdendo ou o quê.
Para obter informações básicas, executando o SQL2012, 64 bits, todas essas coisas boas. Percebi que, por algum motivo, quando exporto de uma tabela para um arquivo simples usando uma consulta, o tipo de dados é padronizado como bytestream. No passado, o padrão era sempre DT_STR e funcionava sem problemas.
Aqui está a consulta:
SELECT pin from IncrementalDM_Emails
where email in (select email from [7755_forsql])
order by pin
Aqui está o erro que estou recebendo:
Aqui está o que a exportação está mostrando quando seleciono "Editar mapeamentos..."
Agora, isso pode ser facilmente corrigido simplesmente selecionando "DT_STR" na caixa de diálogo Mapeamentos, mas eu frequentemente exporto usando esse método, então gostaria de descobrir por que está fazendo isso e corrigi-lo para que nem sempre tenha que ir para o Caixa de diálogo Editar mapeamentos.
Tem algo a ver com a consulta e o uso da IN
função? Qualquer ajuda seria muito apreciada!
EDIT: Os dados em ambas as tabelas são armazenados como varchar(50)
Quando você recupera ou carrega dados, o SSIS tenta convertê-los automaticamente nos tipos corretos. Se o SSIS não puder converter implicitamente os dados - e transformar os dados dentro do pacote não funcionar - você pode precisar modificar os arquivos de mapeamento XML (C:\Program Files\Microsoft SQL Server\110\DTS\MappingFiles -- pasta ), prepare os dados para que sejam compatíveis com o SSIS e a fonte de dados, crie um componente personalizado que possa recuperar ou carregar os dados ou implemente uma solução fora do SSIS para preparar os dados.
O SSMS em segundo plano cria um pacote SSIS. No final, ele permitirá que você o salve como um pacote SSIS.