Come posso connettermi a SQL Server 2008 in remoto usando un indirizzo IP?
-
06-07-2019 - |
Domanda
Quando pubblicherò i miei client di progetto dovranno essere in grado di impostare la configurazione iniziale, e parte di ciò è la connessione al database SQL. Ho un'istanza di SQL Server 2008 in esecuzione sul mio sistema (MSSQLSERVER2008) e SQLEXPRESS2005. Sto cercando di utilizzare la seguente stringa di connessione localmente solo per vedere se funziona e non riesco a farlo funzionare:
ConnectionString = {Data Source=127.0.0.1;Initial Catalog=DCOMProductionsDesktop;Integrated Security=False;User ID=DCOMProductionsDesktopService;Password=;Network Library=dbmssocn}
L'errore che ricevo è il solito "La macchina target ha rifiutato attivamente la connessione".
* Non ci sono firewall in esecuzione, ed è comunque all'interno della rete * I protocolli TCP / IP sono abilitati * Le connessioni remote sono abilitate e consentite
Quindi, sono perplesso.
Modifica
Ho modificato l'origine dati della stringa di connessione in:
DataSource=192.168.0.2\MSSQLSERVER2008 on my WinXP VM (for testing remotely)
Ora, ha funzionato. Ma quando lo distribuisco su Internet, la stessa stringa di connessione funzionerà per i client al di fuori della mia rete usando un nome di dominio come:
DataSource=desktop.dcomproductions.com\MSSQLSERVER2008
O dovrò fare qualcosa di diverso?
Soluzione
Funzionerà, purché " desktop.dcomproductions.com " o qualsiasi altra cosa, risolve l'indirizzo IP corretto. Quindi quel nome dovrebbe essere impostato correttamente sul DNS pubblico o privato.
Inoltre, assicurati che si risolva in un indirizzo IP pubblico / esterno, a meno che gli script del tuo client non si trovino all'interno della stessa rete del server SQL.
Ho pensato di pubblicarlo come risposta, invece di commenti :)
Altri suggerimenti
È stato un po 'di tempo che ho usato tutto tranne Named Pipes per connettermi a un'istanza del server sql, quindi questo potrebbe non essere pertinente ma provare a cambiare l'origine dati sul server.
Potrebbero essere sinonimi, come ho detto, è passato un po 'di tempo.
Inoltre, anche se si utilizza un indirizzo IP, non si sta specificando un'istanza del server sql a cui connettersi, che potrebbe anche causare problemi