ODBC Connect Fail no MU Online: Como Corrigir o Erro de Conexão com o SQL Server
Aprenda como resolver o erro ODBC Connect Fail no MU Online, configurar corretamente o ODBC, conectar ao SQL Server, corrigir DSN, usuário, senha, instância e problemas de compatibilidade 32 bits e 64 bits.
O erro ODBC Connect Fail é um dos problemas mais conhecidos por quem está instalando ou configurando um servidor de MU Online.
Normalmente, essa mensagem aparece quando algum componente do servidor, como DataServer, JoinServer, GameServer, ExDB ou outro serviço, não consegue estabelecer comunicação corretamente com o Microsoft SQL Server.
Apesar do erro parecer simples, ele pode ser causado por diversos fatores: ODBC configurado incorretamente, DSN inexistente, usuário inválido, senha errada, SQL Server desligado, instância incorreta ou até mesmo diferença entre aplicações de 32 bits e 64 bits.
Neste tutorial do Aprendiz MU Online, você aprenderá como diagnosticar e corrigir o erro ODBC Connect Fail no MU Online passo a passo.
O que significa ODBC Connect Fail no MU Online?
A expressão ODBC Connect Fail significa, de forma simplificada, que a aplicação tentou estabelecer uma conexão utilizando ODBC e não conseguiu completar essa comunicação.
Em servidores MU Online antigos e até mesmo em muitas sources customizadas, o ODBC pode ser utilizado para permitir que diferentes executáveis acessem databases do SQL Server.
Quando a configuração não corresponde ao que o executável espera, você pode encontrar mensagens semelhantes a:
ODBC Connect Fail
ODBC Connection Failed
SQL Connect Fail
Database Connect Fail
Connection Failed
O que é ODBC?
ODBC significa Open Database Connectivity.
Trata-se de uma interface utilizada por programas para acessar bancos de dados através de drivers específicos.
No contexto de um servidor MU Online, podemos imaginar o seguinte:
DataServer / JoinServer / GameServer
|
v
ODBC
|
v
Driver SQL Server
|
v
Microsoft SQL Server
|
v
MuOnline
Portanto, qualquer erro em uma dessas etapas pode impedir a conexão.
Principais causas do ODBC Connect Fail
Entre os motivos mais frequentes estão:
- DSN ODBC não criado;
- nome do DSN diferente do esperado pelo executável;
- ODBC criado no administrador de 64 bits em vez do de 32 bits;
- SQL Server desligado;
- nome do servidor SQL incorreto;
- instância SQL incorreta;
- usuário SQL incorreto;
- senha incorreta;
- modo de autenticação inadequado;
- database inexistente;
- usuário sem permissão na database;
- driver SQL ausente;
- TCP/IP desativado;
- firewall bloqueando a conexão;
- source esperando um nome específico de DSN.
1. Verifique se o SQL Server está funcionando
Antes de modificar o ODBC, confirme que o SQL Server está realmente iniciado.
No Windows, você pode procurar:
SQL Server Configuration Manager
ou:
services.msc
Procure um serviço semelhante a:
SQL Server (MSSQLSERVER)
ou:
SQL Server (SQLEXPRESS)
O status deverá estar como iniciado.
2. Confirme servidor, usuário e senha
Um servidor MU Online geralmente depende de informações semelhantes às seguintes:
Servidor SQL: 127.0.0.1
Usuário: sa
Senha: SUA_SENHA
Database: MuOnline
Esses dados precisam ser compatíveis com o que realmente existe no SQL Server.
Teste o login no SQL Server Management Studio
Tente realizar login utilizando exatamente o mesmo usuário e senha configurados no servidor MU Online.
Caso o login falhe no próprio SQL Server Management Studio, também irá falhar no DataServer.
3. ODBC 32 bits ou 64 bits?
Este é um dos pontos mais importantes para servidores MU Online.
Muitos executáveis antigos de MU Online são aplicações 32 bits, mesmo quando o Windows instalado é de 64 bits.
O Windows possui administradores ODBC separados.
Administrador ODBC 32 bits
C:\Windows\SysWOW64\odbcad32.exe
Administrador ODBC 64 bits
C:\Windows\System32\odbcad32.exe
SysWOW64 é utilizado para administrar fontes
ODBC de 32 bits.
Portanto, quando estiver trabalhando com executáveis antigos de MU Online, teste primeiro o administrador ODBC de 32 bits.
4. Como criar uma conexão ODBC para MU Online
C:\Windows\SysWOW64\odbcad32.exe
MuOnline.
5. Confira o nome correto do DSN
Um erro muito comum acontece quando o administrador cria um ODBC funcionando perfeitamente, mas utiliza um nome diferente daquele que a aplicação procura.
Imagine que o executável tenha sido configurado para procurar:
MuOnline
Porém você criou:
MuOnlineDB
Para determinados projetos, isso será suficiente para gerar erro de conexão.
Procure dentro dos arquivos do servidor por nomes como:
DSN
ODBC
Database
DatabaseName
SQLDSN
MuOnline
Me_MuOnline
O nome exato depende da source.
6. Corrija o nome da instância SQL
O nome do computador e o nome da instância não são a mesma coisa.
Suponha que o computador seja:
WIN-SERVER01
E o SQL Server utilize uma instância chamada:
SQLEXPRESS
Nesse caso, a identificação poderá ser:
WIN-SERVER01\SQLEXPRESS
Em outros ambientes, uma instância padrão poderá aceitar:
127.0.0.1
ou:
localhost
ou ainda:
WIN-SERVER01
7. Verifique a autenticação do SQL Server
Muitos arquivos de MU Online utilizam autenticação SQL com usuário e senha.
Um exemplo comum é:
Login: sa
Senha: ********
Nesse cenário, o SQL Server precisa aceitar o método de autenticação correspondente.
Caso apareça:
Login failed for user 'sa'
confirme:
- se o login existe;
- se está habilitado;
- se a senha está correta;
- se possui acesso à database;
- se o modo de autenticação SQL está habilitado.
Nunca deixe senha padrão
Senhas conhecidas ou distribuídas junto com server files são extremamente inseguras.
Depois de concluir os testes, utilize uma senha forte e atualize os arquivos de configuração necessários.
8. Usuário conecta no SQL, mas não abre a database
Existe uma diferença entre conseguir autenticar no SQL Server e possuir permissão para acessar determinada database.
Você pode encontrar uma mensagem semelhante a:
Cannot open database "MuOnline"
requested by the login.
Nesse cenário, verifique as permissões do login.
Confirme principalmente:
- database existente;
- database online;
- usuário associado ao banco;
- permissões suficientes;
- database padrão do login.
9. Habilite TCP/IP quando necessário
Em alguns ambientes, principalmente quando existe comunicação entre máquinas diferentes, será necessário verificar os protocolos utilizados pelo SQL Server.
Abra:
SQL Server Configuration Manager
Navegue até:
SQL Server Network Configuration
|
+-- Protocols for MSSQLSERVER
ou o nome da sua instância.
Verifique o status de:
TCP/IP
Depois de alterar determinados protocolos, poderá ser necessário reiniciar o serviço do SQL Server.
10. Verifique o Firewall do Windows
Quando SQL Server e MU Online estão em máquinas diferentes, o firewall pode impedir a comunicação.
Porém, não abra portas indiscriminadamente para toda a internet.
11. DataServer MU Online com ODBC Connect Fail
Quando o erro aparece especificamente ao abrir o DataServer, utilize a seguinte ordem de diagnóstico.
12. ODBC funciona, mas o MU Online ainda não conecta
Se o teste interno do ODBC retorna sucesso, mas o DataServer continua apresentando erro, investigue outras possibilidades.
- DSN criado na arquitetura errada;
- aplicação espera DSN de Sistema e foi criado DSN de Usuário;
- nome do DSN diferente;
- executável possui configuração interna própria;
- driver incompatível;
- database não possui a estrutura esperada;
- source utiliza outra database;
- DLL necessária está ausente;
- configuração do DataServer está apontando para outro servidor.
13. DSN de Usuário ou DSN de Sistema?
O Windows permite diferentes tipos de fontes de dados.
| Tipo | Características |
|---|---|
| DSN de Usuário | Disponível principalmente para o usuário que realizou a configuração. |
| DSN de Sistema | Disponível para o sistema e diferentes usuários da máquina. |
| DSN de Arquivo | Informações armazenadas em arquivo compartilhável. |
Para muitos ambientes de servidor MU Online, o DSN de Sistema costuma ser a opção mais adequada.
14. Erro após mudar de computador
Um cenário muito comum ocorre quando os server files funcionavam normalmente em outro computador, mas depois de copiar os arquivos para uma nova máquina aparece:
ODBC Connect Fail
Isso acontece porque copiar os arquivos do MU Online não copia automaticamente as configurações ODBC do Windows.
Na nova máquina será necessário verificar novamente:
- SQL Server;
- restauração das databases;
- logins SQL;
- ODBC;
- drivers;
- nome do computador;
- nome da instância;
- arquivos de configuração.
15. ODBC após restaurar a database
Restaurar uma database não significa que todos os logins e permissões estarão automaticamente configurados corretamente para o novo ambiente.
Por isso, depois de restaurar a database:
- confirme se está online;
- confirme o usuário SQL;
- confirme as permissões;
- teste a conexão pelo SQL Management Studio;
- teste o ODBC;
- só então abra o DataServer.
16. Erros relacionados que podem aparecer
| Erro | Possível origem |
|---|---|
| ODBC Connect Fail | DSN, driver, SQL ou autenticação. |
| Login failed for user | Usuário, senha ou autenticação. |
| Cannot open database | Permissão ou database incorreta. |
| Data source name not found | DSN inexistente ou arquitetura incorreta. |
| SQL Server does not exist | Servidor, instância, rede ou protocolo. |
| Connection timeout | Rede, firewall ou SQL indisponível. |
Checklist completo para corrigir ODBC Connect Fail
| Verificação | Resultado esperado |
|---|---|
| SQL Server | Serviço iniciado. |
| Management Studio | Consegue acessar o SQL. |
| Database | Online e acessível. |
| Login SQL | Usuário e senha válidos. |
| Permissões | Usuário acessa a database. |
| Instância | Nome correto. |
| ODBC | Criado corretamente. |
| Arquitetura | 32 ou 64 bits compatível. |
| DSN | Nome exatamente igual ao esperado. |
| Teste ODBC | Conexão concluída com sucesso. |
| TCP/IP | Configurado quando necessário. |
| Firewall | Não bloqueia a comunicação necessária. |
| DataServer | Inicia sem erro de conexão. |
Perguntas frequentes sobre ODBC Connect Fail
O que significa ODBC Connect Fail no MU Online?
Significa que um dos componentes do servidor não conseguiu estabelecer corretamente uma conexão através do ODBC com o banco de dados.
Qual ODBC devo usar no MU Online?
Isso depende da arquitetura do executável. Muitos servidores MU Online antigos utilizam aplicações de 32 bits, portanto o administrador ODBC 32 bits costuma ser necessário.
Onde fica o ODBC 32 bits no Windows 64 bits?
O administrador ODBC de 32 bits normalmente pode ser aberto
através de:
C:\Windows\SysWOW64\odbcad32.exe.
ODBC testa com sucesso mas DataServer não conecta. Por quê?
Verifique o nome do DSN, arquitetura 32/64 bits, DSN de Sistema, configuração interna do DataServer, database utilizada e compatibilidade do driver.
Preciso criar ODBC depois de formatar o servidor?
Sim, quando sua aplicação depende dele. A configuração ODBC pertence ao ambiente do Windows e não é restaurada simplesmente copiando a pasta dos server files.
Posso usar 127.0.0.1 no ODBC?
Em uma instalação local, muitas configurações aceitam 127.0.0.1. Porém, caso o SQL utilize uma instância nomeada, poderá ser necessário informar o nome correto da instância.
ODBC Connect Fail pode ser senha errada?
Sim. Usuário ou senha inválidos estão entre as causas mais comuns de falha na conexão.
Preciso liberar porta do SQL Server?
Depende da arquitetura da rede. Em conexões entre máquinas, regras adequadas podem ser necessárias. Entretanto, nunca exponha o SQL Server publicamente sem necessidade.
Conclusão
O erro ODBC Connect Fail no MU Online normalmente pode ser resolvido seguindo uma sequência lógica de diagnóstico.
Comece confirmando que o SQL Server está funcionando. Depois valide usuário, senha, database e permissões. Em seguida confira o administrador ODBC correto, principalmente a diferença entre 32 bits e 64 bits, e confirme se o nome do DSN corresponde exatamente ao esperado pelos arquivos do servidor.
Depois que a conexão ODBC estiver funcionando corretamente, componentes como DataServer, JoinServer e outros serviços terão condições de acessar as informações necessárias para inicializar o servidor.
Continue acompanhando o Aprendiz MU Online para aprender sobre DataServer, SQL Server, GameServer, ConnectServer, configuração de databases, segurança, desenvolvimento e manutenção de servidores MU Online.