Descrição
Ao utilizar o E3Chart, os dados históricos são retornados corretamente na consulta, porém não são exibidos no gráfico. Como consequência, as penas históricas não são geradas, impossibilitando a visualização correta das informações no chart.
Esse comportamento ocorre mesmo quando o histórico aparentemente está sendo gravado e pode ser consultado diretamente no banco de dados.
Causa
O problema está relacionado à configuração do provedor de banco de dados utilizada pela aplicação.
Na versão 6.8 do E3, o histórico passa a gerar o campo E3TimeStamp no formato DateTime2, que possui precisão de milissegundos. No entanto, quando o provedor configurado é o SQLOLEDB, esse formato não é suportado, o que impede que o E3Chart consiga interpretar corretamente os dados de tempo.
Como resultado, embora a consulta retorne registros, o gráfico não consegue plotar os valores com base no campo E3TimeStamp.
Solução
Para corrigir o problema, é necessário alterar o provedor de banco de dados configurado no objeto Banco de Dados da aplicação.
Siga os passos abaixo:
-
Abra o E3 Studio.
-
Localize o objeto Banco de Dados utilizado pela aplicação.
-
Acesse as propriedades do objeto.
-
Altere o parâmetro Provedor para:
2 – MSOLEDBSQL
Após essa alteração:
-
O campo E3TimeStamp passa a ser tratado corretamente.
-
Históricos novos e antigos funcionam sem necessidade de recriação.
-
O E3Chart consegue plotar os dados normalmente.
-
As penas históricas voltam a ser geradas corretamente.
Considerações finais
O provedor MSOLEDBSQL é compatível com o formato DateTime2, sendo a opção recomendada para aplicações que utilizam versões mais recentes do E3 e recursos que dependem de maior precisão temporal, como gráficos históricos.
Além disso, o tipo DateTime2 permite resolução em milissegundos ou superior, mantendo o mesmo espaço de armazenamento do tipo DateTime, o que garante maior precisão sem impacto no consumo de espaço no banco de dados.
