2012-11-12 8 views
7

Ho uno strano errore nell'ambiente di produzione MA non nello sviluppo dell'ambiente. Nel mio ambiente di sviluppo, con Visual Studio 2010, posso connettermi senza problemi a Sql Server 2012. Quando copio la mia app Windows Form su altri PC nella stessa rete, ottengo un "Errore 26: Errore Individuazione server/istanza specificata ".Come risolvere l'errore 26: Errore di localizzazione del server/istanza Specificato nell'ambiente di produzione?

La stessa applicazione ha funzionato bene con una vecchia istanza di database con Sql Server 2008. Non so cosa controllare e da dove iniziare!

EDIT: Un altro comportamento strano è che funziona bene se io uso un codice come questo

conn.Open() 

dr = cmd.ExecuteReader() 

a meno di fermarsi a lavorare se apro un modulo con un datagridview, un insieme di dati e un BindingSource!

+0

E la stringa di connessione? Stai facendo riferimento a localhost o. come il nome host? –

+0

Questa è la mia stringa di connessione: Data Source = 192.168.x.y; Catalogo iniziale = dbname; ID utente = nome utente; Password = password – stighy

+0

Hai controllato che il server sql possa prendere connessioni da altri computer? – linkerro

risposta

5

this post del blog contiene informazioni dettagliate su errori 26.

da posta:

In una parola, la ragione per cui si ottiene questo messaggio di errore è lo stack client non poteva ricevere la risposta SSRP Pacchetto UDP da SQL Browser. È facile isolare il problema. Ecco i passaggi:

  1. Assicurati che il nome del tuo server sia corretto, ad es., Nessun errore di battitura sul nome.
  2. Assicurarsi che il nome dell'istanza sia corretto e che in realtà ci sia un'istanza sul computer di destinazione. [Aggiornamento: alcune applicazioni vengono convertite in. Se non sei sicuro della tua applicazione, prova sia Server \ Instance che Server \\ Instance nella stringa di connessione]
  3. Assicurati che la macchina del server sia raggiungibile, ad esempio, il DNS può essere risolto correttamente, sei in grado di eseguire il ping server (non sempre vero).
  4. Assicurarsi che il servizio SQL Browser sia in esecuzione sul server.
  5. Se il firewall è abilitato sul server, è necessario mettere sqlbrowser.exe e/o la porta UDP 1434 in eccezione.

Una volta terminata la procedura, non si dovrebbe più visualizzare questo messaggio di errore . Potresti non riuscire ancora a connettere il tuo server SQL, ma il messaggio di errore dovrebbe essere diverso e ora hai un altro problema. [Aggiornamento: se ancora non riesce, è possibile sostituire server \ istanza con tcp: server \ istanza e/o np: server \ istanza e vedere se ha esito positivo su con protocollo TCP o NP. In questo modo, puoi isolare il problema a un po '. ]