Erro de ODBC ao abrir ou executar aplicações Lumi em ambiente Windows Server
Erro de ODBC ao abrir ou executar aplicações Lumi em ambiente Windows Server (RDP)
Objetivo
Este manual orienta a identificação e a correção da mensagem:
ODBC 32/64 bit Data Sources MySQL precisa ser instalado
O problema pode ocorrer em aplicações Lumi executadas em ambiente Windows Server com múltiplos usuários, como:
XML Connect;
SAC Gerencial;
Guardacom;
integrações e utilitários que utilizam conexão MySQL via ODBC;
outras aplicações Lumi que dependam do mesmo driver e das configurações globais do servidor.
O procedimento descrito foi aplicado em casos em que a suíte Lumi Software estava instalado e aparentemente configurado, mas não reconhecia corretamente o driver ODBC durante a execução.
Sintoma
A aplicação pode apresentar um dos seguintes comportamentos:
não inicia corretamente;
informa que o driver ODBC precisa ser instalado;
não consegue acessar o banco de dados;
funciona para um usuário, mas não para outro;
funciona somente quando executada em uma sessão específica;
deixa de operar após troca de usuário ou acesso por Área de Trabalho Remota;
apresenta falha mesmo com o driver já instalado.
No arquivo de log analisado, foi registrada a seguinte mensagem:
Erro: ODBC 32/64 bit Data Sources MySQL precisa ser instalado.Esse registro confirma que, naquele momento, a aplicação não conseguiu localizar ou utilizar adequadamente o driver necessário para a conexão com o banco de dados.
O que significa essa mensagem
A mensagem não indica obrigatoriamente que o driver esteja ausente.
Em alguns ambientes Windows Server, especialmente quando há uso de Terminal Server ou múltiplas sessões de Área de Trabalho Remota, o driver pode estar instalado, mas a aplicação pode não conseguir acessar corretamente:
as configurações do registro do Windows;
as fontes de dados ODBC;
os componentes instalados em nível global;
as configurações gravadas apenas no perfil de um usuário;
as dependências de 32 bits utilizadas pela aplicação.
As aplicações Lumi citadas neste manual são executadas em 32 bits. Por esse motivo, elas precisam localizar o driver MySQL ODBC também em 32 bits, mesmo quando o sistema operacional é de 64 bits.
Causa mais provável
No caso analisado, a causa estava relacionada ao modo como o Windows Server tratava a instalação e a execução da aplicação em um ambiente multiusuário.
O XML Connect estava configurado, porém a sessão do Windows não estava disponibilizando corretamente as configurações globais necessárias para a aplicação.
Em ambientes com Serviços de Área de Trabalho Remota, o Windows diferencia dois modos:
modo de instalação;
modo de execução.
Quando uma aplicação é instalada ou configurada fora do contexto correto, alguns registros e arquivos podem ficar associados somente ao perfil do usuário que realizou o procedimento. Assim, outro usuário pode abrir a mesma aplicação e receber a mensagem de que o ODBC não está instalado.
Pré-requisitos
Antes de iniciar o procedimento, confirme os seguintes itens.
Driver MySQL ODBC
O ambiente deve possuir o driver:
MySQL ODBC 3.51 — 32 bits
A arquitetura de 32 bits é necessária porque as aplicações Lumi utilizadas nesse cenário também são de 32 bits.
Não basta instalar apenas o driver ODBC de 64 bits.
Aplicação Lumi instalada
Deve existir no servidor pelo menos uma aplicação Lumi que dependa da conexão com o banco MySQL, como:
SAC Gerencial;
XML Connect;
Guardacom;
utilitário de integração;
outro componente Lumi instalado no mesmo ambiente.
Acesso administrativo
O procedimento deve ser executado com uma conta que possua permissão de administrador no Windows Server.
Também é recomendável que nenhum usuário esteja utilizando a aplicação durante a configuração.
Informações do banco
Tenha disponíveis:
endereço do servidor MySQL;
porta utilizada;
nome do banco;
usuário de conexão;
senha correspondente;
nome da fonte de dados ODBC, quando utilizada.
Etapa 1 — Confirmar a arquitetura da aplicação
Antes de revisar o ODBC, confirme se a aplicação Lumi é de 32 bits.
Normalmente, a instalação está localizada em:
C:\Program Files (x86)\Exemplos:
C:\Program Files (x86)\SAC Lumi\
C:\Program Files (x86)\XML Connect\Quando a aplicação está em Program Files (x86), deve ser utilizado o administrador ODBC de 32 bits.
Etapa 2 — Abrir o administrador ODBC correto
Em um Windows de 64 bits existem dois administradores ODBC diferentes.
Para aplicações Lumi de 32 bits, abra:
C:\Windows\SysWOW64\odbcad32.exeEsse é o administrador ODBC de 32 bits.
Não utilize como referência apenas o ODBC aberto pelo Painel de Controle, pois dependendo do caminho utilizado ele pode mostrar somente os drivers de 64 bits.
Etapa 3 — Verificar se o driver MySQL ODBC está instalado
Na tela do Administrador de Fonte de Dados ODBC, acesse a aba:
Drivers
Procure por um driver semelhante a:
MySQL ODBC 3.51 DriverCaso o driver não apareça, será necessário instalar a versão de 32 bits antes de continuar.
Após a instalação, feche e abra novamente o administrador ODBC para confirmar que o driver passou a ser exibido.
Etapa 4 — Conferir a fonte de dados
Na mesma ferramenta, verifique as abas:
DSN de Sistema;
DSN de Usuário.
Para ambientes multiusuário, prefira uma configuração em:
DSN de Sistema
Uma fonte configurada apenas como DSN de Usuário pode funcionar somente para o usuário que a criou.
Confirme se a fonte utilizada pela aplicação possui:
servidor correto;
porta correta;
usuário;
senha;
banco de dados;
driver MySQL ODBC 3.51 de 32 bits.
Etapa 5 — Testar a conexão ODBC
Selecione a fonte de dados e utilize a opção de teste de conexão.
O resultado esperado é uma mensagem informando que a conexão foi realizada com sucesso.
Caso o teste falhe, revise:
nome ou IP do servidor;
porta do MySQL;
credenciais;
disponibilidade do banco;
firewall;
driver selecionado;
permissão do usuário no banco.
Não prossiga para a aplicação enquanto o teste ODBC continuar falhando.
Etapa 6 — Colocar o Windows Server em modo de instalação
Em ambientes com Terminal Server ou Serviços de Área de Trabalho Remota, abra o Prompt de Comando como administrador.
Execute:
change user /installEsse comando informa ao Windows que as próximas alterações devem ser tratadas como instalação ou configuração global de aplicação.
O objetivo é fazer com que registros, arquivos e parâmetros necessários sejam disponibilizados em nível de sistema, e não apenas no perfil do usuário atual.
Etapa 7 — Executar a configuração da aplicação
Com o servidor em modo de instalação:
abra a aplicação Lumi;
acesse as configurações de banco, quando disponíveis;
confirme o nome da conexão ODBC;
salve novamente os parâmetros;
feche a aplicação;
reabra para confirmar o funcionamento.
No caso do XML Connect, o procedimento permitiu que a aplicação reconhecesse corretamente a configuração do ODBC.
Etapa 8 — Retornar ao modo normal de execução
Após concluir a configuração, retorne o servidor ao modo de execução.
No Prompt de Comando como administrador, execute:
change user /executeEsse comando deve ser executado ao final do procedimento.
O servidor não deve permanecer em modo de instalação durante a operação normal dos usuários.
Etapa 9 — Testar com o usuário que utiliza a aplicação
Faça um novo teste utilizando o mesmo usuário ou a mesma sessão usada no dia a dia.
Confirme se:
a aplicação abre normalmente;
a mensagem de ODBC não aparece;
a conexão com o banco é estabelecida;
as rotinas dependentes do banco funcionam;
outro usuário autorizado também consegue executar a aplicação.
Esse teste é importante porque uma configuração que funciona apenas para o administrador ainda não pode ser considerada concluída.
Procedimento resumido
A sequência recomendada é:
Confirmar aplicação de 32 bits
→ Confirmar MySQL ODBC 3.51 de 32 bits
→ Abrir o ODBC de 32 bits
→ Configurar DSN de Sistema
→ Testar a conexão
→ Executar change user /install
→ Abrir e configurar a aplicação Lumi
→ Executar change user /execute
→ Testar com o usuário finalPor que o comando change user /install resolve
Em um Windows Server multiusuário, algumas aplicações antigas ou de arquitetura tradicional podem gravar configurações em locais associados ao perfil da sessão atual.
O comando:
change user /installfaz com que o Windows trate essas alterações como parte de uma instalação global.
Isso ajuda a garantir que:
as configurações sejam aplicadas ao servidor;
outros usuários consigam acessar os mesmos parâmetros;
a aplicação encontre o driver e as fontes de dados;
registros não fiquem limitados a uma única sessão.
Depois da configuração, o comando:
change user /executerestaura o comportamento normal do ambiente.
Atenção a outros erros presentes no log
O arquivo analisado também registra mensagens diferentes da falha de ODBC.
Entre elas estão:
656 - Rejeição: Consumo Indevidoe:
Nenhum certificado válido foi encontradoEssas mensagens não possuem a mesma causa do erro de ODBC.
A rejeição 656 indica excesso de consultas ao serviço fiscal dentro do intervalo permitido.
Já a mensagem de certificado indica que o sistema não encontrou o certificado digital esperado no repositório do usuário ou do Windows.
Portanto, corrigir o ODBC não resolve automaticamente rejeições da SEFAZ ou problemas de certificado digital. Cada ocorrência deve ser tratada separadamente.
Se a mensagem continuar aparecendo
Caso o erro permaneça, confirme novamente os seguintes pontos.
O driver aparece apenas no ODBC de 64 bits
Nesse caso, instale também a versão de 32 bits.
A aplicação Lumi pode não reconhecer um driver instalado somente em 64 bits.
A fonte está criada somente como DSN de Usuário
Recrie ou disponibilize a fonte como DSN de Sistema, após validar o padrão utilizado no ambiente.
Funciona para um usuário, mas não para outro
Esse comportamento reforça a possibilidade de configuração vinculada ao perfil.
Revise o procedimento com:
change user /installe finalize com:
change user /executeO teste ODBC falha
A falha não está apenas na aplicação.
Revise banco, rede, credenciais, porta e firewall antes de continuar.
O ODBC funciona, mas a aplicação não
Confirme:
nome da fonte utilizado pela aplicação;
arquivos de configuração;
permissões da pasta da aplicação;
permissão de leitura no registro;
usuário que executa o programa;
arquitetura do executável;
versão do driver.
O que não fazer
Não instale apenas o ODBC de 64 bits quando a aplicação for de 32 bits.
Não deixe o servidor permanentemente em modo:
change user /installNão crie a fonte apenas para um usuário quando vários usuários precisarem executar a aplicação.
Não reinstale o XML Connect ou o SAC Gerencial repetidamente sem verificar primeiro o driver e a arquitetura.
Não confunda o erro de ODBC com rejeições fiscais, falhas de certificado ou indisponibilidade da SEFAZ.
Checklist de validação
A aplicação Lumi é de 32 bits.
O MySQL ODBC 3.51 de 32 bits está instalado.
O administrador ODBC correto foi aberto.
O driver aparece na lista de drivers.
A fonte de dados está configurada.
A fonte está disponível como DSN de Sistema, quando aplicável.
O teste de conexão foi concluído com sucesso.
O comando
change user /installfoi executado antes da configuração.A aplicação foi aberta e configurada.
O comando
change user /executefoi executado ao final.O usuário final conseguiu abrir a aplicação.
A mensagem de ODBC não voltou a aparecer.
Quando acionar o suporte Lumi
Abra um chamado quando:
o driver estiver instalado, mas não for reconhecido;
o teste ODBC funcionar e a aplicação continuar falhando;
a mensagem aparecer apenas para alguns usuários;
não for possível identificar a fonte utilizada;
houver erro de permissão no Windows;
a aplicação continuar sem conexão após todo o procedimento.
Encaminhe no chamado:
nome da aplicação;
versão da aplicação;
versão do Windows;
arquitetura do sistema;
captura do ODBC de 32 bits;
nome da fonte de dados;
resultado do teste de conexão;
arquivo de log;
usuário utilizado;
informação se o ambiente utiliza Terminal Server.
Resultado esperado
Após a correção:
a aplicação Lumi deve abrir normalmente;
o driver MySQL ODBC deve ser reconhecido;
a conexão com o banco deve ser estabelecida;
diferentes usuários autorizados devem conseguir executar o sistema;
a mensagem de instalação do ODBC não deve voltar a aparecer.
Resumo
A mensagem:
ODBC 32/64 bit Data Sources MySQL precisa ser instalado
pode ocorrer mesmo quando o driver já está presente.
Em ambientes Windows Server multiusuário, a causa pode estar relacionada à arquitetura incorreta do driver ou ao fato de a configuração ter sido gravada apenas no perfil de um usuário.
A correção consiste em confirmar o MySQL ODBC 3.51 de 32 bits, configurar a fonte no administrador ODBC correto e realizar a configuração da aplicação utilizando:
change user /installAo finalizar, o servidor deve retornar ao modo normal com:
change user /execute