KB: A conexão DbLib do MySQL usa credenciais do Windows em vez da autenticação MySQL configurada

Altium Designer Altium Designer
Em alguns casos, as conexões do Altium Designer DbLib ou SVNDbLib com o MySQL podem tentar se autenticar usando a conta de usuário atual do Windows em vez das credenciais do MySQL configuradas. Isso pode resultar em falhas nos testes de conexão, erros de autenticação após reabrir a caixa de diálogo de conexão ou registros do MySQL mostrando tentativas de login baseadas no Windows. O problema normalmente ocorre quando as credenciais do MySQL não estão sendo persistidas corretamente pela fonte de dados ODBC. Configurar um DSN de Sistema de 64 bits com as credenciais adequadas garante que as credenciais necessárias do MySQL estejam disponíveis para a conexão e evita o fallback de autenticação para o contexto do usuário do Windows.

Detalhes da Solução

As tentativas de autenticação usam a conta errada

Um ou mais dos seguintes sintomas podem ser observados:

  • O Test Connection falha, a menos que o nome de usuário e a senha sejam inseridos novamente a cada vez.
  • A conexão funciona temporariamente, mas falha após reabrir a caixa de diálogo.
  • As tabelas e o esquema ficam visíveis, mas a autenticação falha durante o uso normal.
  • Os logs do MySQL mostram tentativas de login usando um usuário e domínio do Windows em vez de uma conta do MySQL.
  • O mesmo arquivo .DbLib e o mesmo DSN funcionam corretamente em uma máquina, mas falham em outra.
  • O teste de conexão é bem-sucedido apenas para a sessão atual e não é persistido.

Microsoft Data Link Error dialog showing connection test failure: provider initialization failed; MySQL ODBC 8.0 reports “Access denied for user ‘altium’@…de (using password: YES)”

As credenciais não são persistidas na conexão

Esse comportamento pode ocorrer devido à interação entre o Altium Designer, o MSDASQL e o driver MySQL ODBC:

  • O Altium Designer não armazena credenciais de banco de dados. Os valores inseridos na caixa de diálogo de conexão ficam disponíveis apenas para a sessão atual.
  • As conexões DbLib e SVNDbLib usam uma string de conexão OLE DB e normalmente dependem do provedor ODBC da Microsoft (MSDASQL) ao se conectar a fontes de dados ODBC.
  • O driver MySQL ODBC armazena as credenciais como parte da configuração do DSN.
  • Se o DSN não persistir corretamente as credenciais, o provedor OLE DB não receberá informações do usuário do banco de dados.
  • Quando nenhum usuário MySQL é fornecido, o MSDASQL pode recorrer ao contexto do usuário atual do Windows.
  • O MySQL não oferece suporte à autenticação integrada do Windows, fazendo com que a autenticação falhe.
  • User DSNssão mais suscetíveis a problemas de permissão, políticas de segurança, problemas de persistência de credenciais e incompatibilidades entre 32 bits e 64 bits.
  • Ser capaz de navegar por tabelas ou pelo esquema não confirma necessariamente que operações autenticadas subsequentes serão bem-sucedidas.

Configure um DSN de sistema persistente

  • Use um 64-bit System DSN devidamente configurado com credenciais para o MySQL.
  • Faça referência ao DSN de sistema a partir da Biblioteca de Banco de Dados em vez de depender de credenciais inseridas na sessão.
  • Evite usar User DSNs em ambientes corporativos ou com segurança reforçada.
  • Certifique-se de que o driver ODBC, o DSN e a instalação do Altium Designer sejam todos componentes de 64 bits.

Criar e verificar o DSN de sistema

  1. Abra o Administrador ODBC de 64 bits com privilégios administrativos usando C:\Windows\System32\odbcad32.exe.
  2. Confirme que o Administrador ODBC de 64 bits está sendo usado, e não a versão de 32 bits.
  3. Selecione a guia System DSN e escolha Add.
  4. Selecione MySQL ODBC 8.0 Unicode Driver.Digite o nome do servidor MySQL, o nome do banco de dados, o nome de usuário do MySQL e a senha do MySQL.
  5. Selecione Test e salve o DSN.
  6. Abra o arquivo .DbLib ou .SVNDbLib no Altium Designer.
  7. Faça referência ao System DSN configurado e teste a conexão.
  8. Feche e reabra a caixa de diálogo de conexão e, em seguida, teste novamente para verificar a persistência das credenciais.
  9. Verifique se o log do servidor MySQL mostra a conta MySQL configurada, em vez de uma conta do Windows no formato DOMAIN\Username.

Notas adicionais

  • O Altium Designer requer uma camada de acesso a banco de dados compatível de 64 bits.
  • O Altium Designer não retém credenciais de banco de dados por design.
  • Inserir novamente as credenciais no Altium Designer habilita apenas um teste temporário de conexão.
  • As credenciais ODBC são específicas de cada máquina e devem ser configuradas em cada estação de trabalho que abrir o arquivo .DbLib ou .SVNDbLib.
  • Opcional: verifique as entradas de registro do DSN de sistema se for necessário troubleshooting adicional.
  • Se a mesma biblioteca funcionar em uma máquina, mas não em outra, compare o tipo de DSN, a versão do driver, a arquitetura do driver e a configuração de persistência de credenciais.

Referências

AI-LocalizedLocalizado por IA
Caso encontre um problema, selecione o texto/imagem e primaCtrl + Enterpara nos enviar o seu feedback.
Conteúdo