Import Excel do SQL - konverze Datetime selhat

hlasů
0

Snažím se importovat Excel do své databáze SQL, ale já začínám tuto chybu:

Zprávy Chyba 0xc0202009: Flow Úkol dat 1: SSIS Kód chyby DTS_E_OLEDBERROR. Došlo k chybě OLE DB. Kód chyby: 0x80004005. Záznam o OLE DB je k dispozici. Zdroj: Microsoft OLE DB Provider for SQL Server HRESULT: 0x80004005 Popis: Nepodařilo Převod při převodu datum a / nebo čas z řetězce znaků.. (SQL Server Průvodce importem a exportem)

Databáze očekává, že tyto údaje:

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

Vzorek o tom, jak jsou tato data uložena:

zadejte

A to je, jak jsou data zapsána do Excelu:

zadejte

SQL identifikuje sloupec Excel jako datetime a bude se snažit, aby jej převést na datetime2.

Co mohu udělat, aby se projít tuto chybu?

zadejte

Aktualizace:

Po přečtení Post-spustit sestavu

zadejte

Viděl jsem, že se snaží číst další řádky, které jsou prázdné . Já jsem se snaží vypustit obsah každé buňky v listu, ale to stále přetrvává.

Položena 27/11/2018 v 18:01
zdroj uživatelem
V jiných jazycích...                            


1 odpovědí

hlasů
0

Měli byste používat odvozené transformace sloupec mezi zdrojovou a cílovou prvků v proudu, který zde popisován .

Jsou vidíte @ [System :: StartTime] variabilní? Měli byste přidat svůj sloupek (v levé části okna) namísto této proměnné, a zvolit vhodný typ v osazení funkci od typu Odlitky složku (viz pravá podokno). Viz mapování mezi SSIS a typů SQL na této stránce .
Bude DT_DBTIMESTAMP z DT_DBTIMESTAMP2 a vyjádřením vůle vypadá jako [DT_DBTIMESTAMP]old_column_name. V odvozených sloupci budete muset doleva volbu „přidat nové ...“, pak je třeba jmenovat tento nový sloupec a používat toto nové v cílovém prvku namísto Excel sloupec „time“.
zadejte popis obrázku zde

Odpovězeno 27/11/2018 v 20:24
zdroj uživatelem

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