FME - Bagaimana mengkonversi string represenation of date ke format tanggal yang SQL Server akan terima?

8

Saya memiliki tanggal dalam bentuk 07-28-2010saya mengekstraksi dari nama file DWG. Saya perlu mendorong ini ke tabel diformat DateTime di non-spasial SQL Server 2008. SQL Server tidak menyukai mereka sebagai string yang datang dari ETL rupanya. Bagaimana saya bisa mengatur datatype di ETL dari string ke datetime? Apakah ini yang harus saya lakukan? Saya cukup yakin ini adalah masalah saya berdasarkan pengalaman masa lalu dengan mendorong tanggal ke SQL Server dan kesalahan ini dari FME:

MS SQL Server Writer: 1 attribute value(s) failed conversion, and were written as NULL values
Chad Cooper
sumber

Jawaban:

7

Dari Manual Pembaca dan Penulis FME:

Saat menulis ke database, penulis mengharapkan atribut tanggal berada dalam bentuk YYYYMMDDHHMMSS.

Anda mungkin perlu menggunakan transformator DateFormatter untuk mendapatkan format ini. Saya akan:

Gunakan StringReplacer untuk mengganti atribut - dengan / dalam tanggal. Gunakan DateFormatter yang disetel ke% Y% m% d atau% Y% m% d% H% M% S termasuk waktu (pastikan menyelesaikan kasus dengan benar) Tulis ke bidang datetime dalam output SQL Server

Tandai Irlandia
sumber
Mark terima kasih. Saya akhirnya menggunakan StringSearcher dan regex untuk mendapatkan tanggal dari nama file, kemudian di StringConcatenator saya mengatur ulang _matched_parts ke YYYYMMDD. Ini kemudian memasukkan bidang datetime SQL Server dengan baik.
Chad Cooper