Jawaban terperinci tetapi saya mohon berbeda apakah "SSIS tidak dapat mengenali format tanggal yang diberikan dalam pertanyaan."
Mungkin jika itu dinyatakan kembali sebagai "SSIS tidak dapat mengenali format tanggal yang disediakan tanpa bantuan." Masalah utama dalam kasus ini, adalah bahwa secara default rutinitas penguraian tanggal dan nomor adalah sadar lokal . Secara umum, ini hal yang baik, kecuali jika tidak. Saya pertama kali menemukan ini ketika saya berurusan dengan tanggal dalam format ccyymmdd yang keluar dari mainframe. Seperti yang ditunjukkan orang lain, itu akan diurai dalam tsql, mengapa tidak SSIS? Ada banyak artikel di luar sana yang menganjurkan pemotongan dan pemotongan data string untuk menjadikannya waktu yang valid, tetapi mengapa harus melalui semua kerumitan itu?
Mengingat ini sebagai data input sampel (tab delimited).
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
Dan paket yang terlihat seperti ini,
Dengan mengubah satu setelan di Sumber File Datar , saya bisa membuat paket gagal atau tidak.
Klik kanan pada Flat File Source dan pilih "Show Advanced Editor." Pada tab "Properti Input dan Output", perluas Kolom Output dan temukan kolom yang berisi tanggal. Ubah FastParse pengaturan dari Salah ke Benar .
Ketika saya menjalankannya, paket awalnya gagal karena kehilangan presisi menyimpan nilai itu ke dalam DB_TIMESTAMP
. Saya berhasil ketika saya mengatur kolom untuk mengetik DB_TIMESTAMP2
Paket demo tersedia di https://sites .google.com/site/billfellows/home/files/FastParse.dtsx?attredirects=0&d=1