FME - Como converter a representação de string de data em um formato de data que o SQL Server aceitará?

8

Tenho datas na forma de 07-28-2010extração de nomes de arquivos DWG. Eu preciso enviá-las para uma tabela formatada em DateTime no SQL Server 2008 não espacial. O SQL Server não gosta deles como seqüências de caracteres que chegam do ETL aparentemente. Como posso definir o tipo de dados no ETL de string para datetime? É isso mesmo que eu preciso fazer? Tenho certeza de que esse é meu problema com base em experiências anteriores com o envio de datas para o SQL Server e este erro do FME:

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

Respostas:

7

No Manual dos Leitores e Gravadores FME:

Ao gravar no banco de dados, o gravador espera que o atributo date esteja no formato YYYYMMDDHHMMSS.

Você provavelmente precisará usar o transformador DateFormatter para obter esse formato. Eu gostaria:

Use um StringReplacer para substituir o - com / no atributo date Use um DateFormatter definido como% Y% m% d ou% Y% m% d% H% M% S, incluindo o tempo (certifique-se de acertar o caso) para um campo de data e hora na saída do SQL Server

Mark Ireland
fonte
Obrigado Mark. Acabei usando um StringSearcher e um regex para obter a data do nome do arquivo e, em um StringConcatenator, reorganizei o _matched_parts para YYYYMMDD. Isso então é inserido no campo datetime do SQL Server.
Chad Cooper