Oi,
Tenho trabalhado em uma ferramenta para extrair uma consulta do MS Access e transformá-la em um Portal Feature Service. Funcionou por uma semana, mas agora não funciona mais. Há um problema específico...
Existem 20 campos que contêm um simples 1 ou 0 no banco de dados Access. Quando exporto para CSV, todos os dados nesses campos são ou 1 ou 0 para cada registro. Meu Portal Feature Service está preparado para esses valores em cada um desses campos inteiros com um domínio (1=True, 0=False) . Quando criei minha Ferramenta Workbench, funcionou. Eu tinha um Access Reader, VertexCreator, CoordinateSystemSetter, Reprojector e o Portal Feature Service Writer.
Agora, por algum motivo, todos os meus valores 1 estão sendo gravados como -1 (menos um). Não faço ideia do porquê. Quando olho uma tabela, vejo "No" ou "-1" agora. O 0 (zero) está saindo correto, mas o 1 está sendo alterado para -1.
Tenho desmontado essa ferramenta, construindo novas, sem sucesso.
Eu descobri que o tipo de campo de todos esses campos 1/0 que saem do MS Access Reader são definidos como "[yesno]". Ao inspecionar os dados do reader e de cada Transformer, vejo valores "Yes" e "No" para cada um. Vendo que o 0 obviamente está chegando corretamente no meu Feature Service, pensei que poderia simplesmente abrir o writer e na entrada de Valor para cada um desses campos - usar o Arithmetic Editor e dizer [fieldname]*-1. Ei, 0*-1=0 (sem mudança) e -1*-1=1 (oba, positivo um). MAS infelizmente, disse que tive um erro de cálculo de string - não pode fazer matemática com "No"*-1. Então - como o No está sendo convertido em 0 e o Yes em -1? (Estou seriamente confuso agora...)
Então encontrei o AttributeValueMapper e, em um campo, mapeei "Yes" para 1 e "No" para 0. Executei a ferramenta e funcionou.
Bem - agora tenho que formatar um AttributeValueMapper para outros 19 campos????
EDITAR - De volta ao escritório, tentando encadear vários AttributeValueMappers juntos e descobri que não consigo configurar o valor recém-alterado para mapear ao campo original no próximo AttributeValueMapper. Não consigo anexar o campo "_looked_up" ao campo correto no próximo.
vermelho representa campo que quero passar do primeiro AttributeValueMapper para o próximo.
Posso simplesmente usar o mesmo nome de campo no Destination Attribute para encadeá-los?

Isso não parece certo.
O que estou perdendo?
Obrigado,
--Adam