Nota: ho ovviamente cambiato i nomi dei server e gli IP in quelli fittizi.
Ecco cosa sta succedendo. Ho un server, che sto chiamando MYSERVER
, che esegue Microsoft SQL Server Express 2005. Proprio su questo server stesso, ho una connessione ODBC impostata che punta su se stessa e che funziona già perfettamente. Accedo usando l'autenticazione di SQL Server (non l'autenticazione di Windows) ed è impostato in questo modo:
Come ho detto, quello funziona. Ma poi, ho un altro computer che si trova su un dominio completamente diverso / non sull'intranet, che deve accedere a questo stesso SQL Server ospitato su MYSERVER. Poiché si trova su un dominio diverso, non riconosce il nome "MYSERVER"; Devo indicarlo all'indirizzo IP di MYSERVER, che diremo è 123.456.789.012. Ma la connessione ODBC non sembra funzionare lì. Ho provato a configurarlo in questo modo:
Questo non funziona Quando inserisco il nome utente e la password e premo Avanti, si blocca per 10-20 secondi, quindi alla fine torna con il seguente errore:
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 provo la stessa cosa, ma cambio il "server" da 123.456.789.012\SQLEXPRESS
semplicemente vecchio 123.456.789.012
, ottengo un errore diverso:
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.
Ora so cosa stai pensando. Potresti pensare "Duh, probabilmente non hai aperto il firewall per la porta 1433, manichino". Tranne che ho fatto e ho verificato questo, come posso eseguire correttamente :
telnet 123.456.789.012 1433
... dalla riga di comando tutto ciò che voglio. Quindi non sono sicuro di cosa fare. So che SQL Server esiste, funziona e una connessione ODBC può essere impostata correttamente; Non sono sicuro di cosa abbia sbagliato nelle mie impostazioni di connessione che generano questi errori. Sulla base dell'ultimo errore che ho elencato, sembrerebbe che possa connettersi al server, ma semplicemente non riesco a trovare l'istanza (dal momento che non ne ho specificato uno quella volta). Ciò significa che devo solo usare una sintassi diversa per specificare l'IP insieme a un nome di istanza? Cosa faccio? Grazie in anticipo.