Nota: Obviamente, mudei os nomes dos servidores e IPs para nomes fictícios.
Aqui está o que está acontecendo. Eu tenho um servidor que estou chamando MYSERVER
executando o Microsoft SQL Server Express 2005. Nesse servidor, eu tenho uma conexão ODBC configurada apontando para si mesma, e isso já funciona perfeitamente. Efetuo login usando a Autenticação do SQL Server (não a autenticação do Windows), e é configurado assim:
Como eu disse, esse funciona. Mas, a seguir, tenho outro computador que está em um domínio totalmente diferente / não na intranet, que precisa acessar o mesmo SQL Server hospedado no MYSERVER. Por estar em um domínio diferente, ele não reconhece o nome "MYSERVER"; Eu tenho que apontar para o endereço IP do MYSERVER, que diremos é 123.456.789.012. Mas a conexão ODBC não parece funcionar lá. Eu tentei configurá-lo assim:
Isso não funciona. Quando insiro o nome de usuário e a senha e pressiono Avançar, ele fica parado por uns 10 a 20 segundos e, finalmente, volta com o seguinte erro:
Connection failed:
SQLState: '01000'
SQL Server Error: 1326
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Connect()).
Connection failed:
SQLState: '08001'
SQL Server Error: 17
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server does not exist or access denied.
Se eu tentar a mesma coisa, mas alterar o "servidor" 123.456.789.012\SQLEXPRESS
para simplesmente antigo 123.456.789.012
, recebo um erro diferente:
Connection failed:
SQLState: '01000'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]ConnectionOpen (Invalid Instance()).
Connection failed:
SQLState: '08001'
SQL Server Error: 14
[Microsoft][ODBC SQL Server Driver][DBNETLIB]Invalid connection.
Agora eu sei o que você está pensando. Você pode estar pensando: "duh, você provavelmente não abriu o firewall para a porta 1433, idiota". Exceto que fiz e verifiquei isso, pois posso executar com êxito :
telnet 123.456.789.012 1433
... a partir da linha de comando, tudo o que eu quero. Então, eu não tenho certeza do que fazer. Eu sei que o SQL Server existe, funciona e uma conexão ODBC pode ser configurada corretamente; Só não tenho certeza do que há de errado nas minhas configurações de conexão que estão lançando esses erros. Com base no último erro que listei, parece que ele pode se conectar ao servidor, mas simplesmente não consegue encontrar a instância (já que eu não especifiquei uma dessa vez). Então, isso significa que eu só preciso usar alguma sintaxe diferente para especificar o IP junto com o nome de uma instância? O que eu faço? Desde já, obrigado.