Szczegółowa odpowiedź, ale błagam o różnicę w kwestii, czy „SSIS nie może rozpoznać formatu daty podanego w pytaniu”.
Być może, gdyby został zmieniony jako „SSIS nie może rozpoznać dostarczonego formatu daty bez pomocy”. Głównym problemem w tym przypadku jest to, że domyślnie procedury analizy dat i liczb to świadomość lokalna . Ogólnie rzecz biorąc, to dobra rzecz, chyba że tak nie jest. Po raz pierwszy natknąłem się na to, gdy miałem do czynienia z datami w formacie ccyymmdd wychodzącymi z komputera mainframe. Jak wskazali inni, będzie parsować w tsql, dlaczego nie SSIS? Istnieje wiele artykułów zalecających krojenie i dzielenie danych ciągu, aby uzyskać prawidłową datę i godzinę, ale po co przechodzić przez te wszystkie kłopoty?
Biorąc to jako przykładowe dane wejściowe (rozdzielone tabulatorami).
LongDateDesiresFastParse Gibberish
Oct 25 2011 10:18:10:756PM Hello world
Oct 24 2010 10:18:10:756PM Hello 2010 world
Oct 23 2009 10:18:10:756PM Hello 2009 world
Oct 22 2008 10:18:10:756PM Hello 2008 world
I pakiet, który wygląda tak,
Zmieniając jedno ustawienie w źródle pliku płaskiego , mogę sprawić, że pakiet się nie powiedzie lub nie.
Kliknij prawym przyciskiem myszy Flat File Source i wybierz „Show Advanced Editor”. Na karcie „Właściwości wejściowe i wyjściowe” rozwiń kolumny wyjściowe i znajdź kolumnę zawierającą datę. Zmień FastParse ustawienie od Fałsz do Prawda .
Kiedy go uruchomiłem, pakiet pierwotnie zawiódł, ponieważ tracił precyzję przechowywania tej wartości w DB_TIMESTAMP
. Udało mi się, gdy ustawiłem kolumnę na typ DB_TIMESTAMP2
Pakiet demonstracyjny dostępny pod adresem https://sites .google.com/site/billfellows/home/files/FastParse.dtsx?attredirects=0&d=1