Importação do Excel para SQL - falhar a conversão de data e hora

votos
0

Estou tentando importar um excel no meu banco de dados SQL, mas eu estou recebendo este erro:

Mensagens de erro 0xc0202009: Data Flow Tarefa 1: SSIS Código de erro DTS_E_OLEDBERROR. Um erro OLE DB ocorreu. Código de erro: 0x80004005. Um registro de OLE DB está disponível. Fonte: Microsoft OLE DB para SQL Server HRESULT: 0x80004005 Descrição: A conversão falhou ao converter data e / ou tempo de cadeia de caracteres.. (SQL Server Assistente de Importação e Exportação)

O banco de dados espera que esses dados:

    [DisplayFormat(DataFormatString = {0:dd/MM/yyyy}, ApplyFormatInEditMode = true)]
    public DateTime hechosf_periodo { get; set; }

Uma amostra de como esses dados são armazenados:

digite

E esta é a forma como os dados são inseridos no Excel:

digite

SQL identifica a coluna Excel como data e hora e vai tentar convertê-lo para datetime2.

O que posso fazer para passar esse erro?

digite

Atualizar:

Depois de analisar o pós-execução relatório

digite

Eu vi que está tentando ler mais linhas que são vazio . Eu tentando apagar o conteúdo de cada célula na folha, mas esta ainda persiste.

Publicado 27/11/2018 em 18:01
fonte usuário
Em outras línguas...                            


1 respostas

votos
0

Você deve usar Transformação Coluna Derivada entre os elementos de Origem e Destino em seu fluxo, que descripted aqui .

Tem a ver um @ [System :: StartTime] variável? Você deve adicionar sua coluna (no painel esquerdo) em vez desta variável, e para escolher o tipo adequado em lançar função de Tipo de Lança pasta (ver painel rigth). Veja mapeamento entre o SSIS e os tipos SQL para esta página .
Será DT_DBTIMESTAMP de DT_DBTIMESTAMP2 , e uma expressão vai se parece com um [DT_DBTIMESTAMP]old_column_name. Na coluna derivada você precisa opção de esquerda "adicionar novo ...", então você precisa nomear essa nova coluna e usar essa nova no Destino elemento em vez de coluna do Excel "tempo".
digite descrição da imagem aqui

Respondeu 27/11/2018 em 20:24
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more