Nota: Eu obviamente mudei os nomes dos servidores e IPs para os fictícios.
Aqui está o que está acontecendo. Eu tenho um servidor, que estou chamando MYSERVER
, executando o Microsoft SQL Server Express 2005. Neste servidor, eu tenho uma conexão ODBC 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 é configurada assim:
Comoeudisse,essefunciona.Masdepois,eutenhooutrocomputadorqueestáemumdomíniototalmentediferente/nãonaintranet,queprecisaacessaressemesmoSQLServerhospedadonoMYSERVER.Porestaremumdomíniodiferente,nãoreconheceonome"MYSERVER"; Eu tenho que apontar para o endereço IP do MYSERVER, que vamos dizer é 123.456.789.012. Mas a conexão ODBC parece não funcionar lá. Eu tentei configurá-lo assim:
Issonãofunciona.QuandocolocoonomedeusuárioeasenhaepressionoPróximo,eleficaparadoporunsbons10a20segundose,finalmente,retornacomoseguinteerro:
Connectionfailed:SQLState:'01000'SQLServerError:1326[Microsoft][ODBCSQLServerDriver][DBNETLIB]ConnectionOpen(Connect()).Connectionfailed:SQLState:'08001'SQLServerError:17[Microsoft][ODBCSQLServerDriver][DBNETLIB]SQLServerdoesnotexistoraccessdenied.
Seeutentaramesmacoisa,masalteraro"servidor" de 123.456.789.012\SQLEXPRESS
para o antigo 123.456.789.012
, obtenho 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, manequim." Exceto que eu fiz, e eu verifiquei isso, como eu posso com sucesso executar:
telnet 123.456.789.012 1433
... da linha de comando, tudo que eu quero. Então não tenho certeza do que fazer. Eu sei que o SQL Server existe, funciona, e uma conexão ODBC pode ser configurada corretamente; Eu só não sei o que é que eu tenho errado em minhas configurações de conexão que está jogando 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 (desde que eu não especifiquei uma vez). Então isso significa que eu só preciso usar alguma sintaxe diferente para especificar o IP junto com um nome de instância? O que eu faço? Agradecemos antecipadamente.