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

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


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

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.