5

Ich entwickle eine ASP.NET-Anwendung in VS 2010 mit einem SQL Server 2000-Backend (ich weiß, ich weiß...)SQL Server 2000-Verbindungsfehler - Handshake vor der Anmeldung?

Ich habe gerade gut mit diesem Setup für den größten Teil der letzten 3 gearbeitet Monate. Doch gestern habe ich VS 2010 SP1 gelten und nun eine Verbindung zu dieser Datenbank wird folgende Fehlerursachen:

Connection Timeout Expired. The timeout period elapsed while attempting to consume the pre-login handshake acknowledgement. This could be because the pre-login handshake failed or the server was unable to respond back in time. The duration spent while attempting to connect to this server was - [Pre-Login] initialization=72; handshake=44924

Beachten Sie, dass ich keine Änderungen an entweder der Verbindungszeichenfolge oder dem SQL Server 2000 Server/Datenbank vorgenommen haben. Es muss also einen Grund geben, warum es seit den Neuzugängen passiert.

Meine Verbindung Artikel sind Vanille ziemlich mit

conn.Open(); 
SqlCommand cmd = new SqlCommand(); 
cmd.Connection = conn; 
cmd.CommandText = sqlStatement; 
SqlDataReader dr = cmd.ExecuteReader(); 
resultData.Load(dr); 
dr.Close(); 
conn.Close(); 

Und meine Verbindungszeichenfolge sieht aus wie

Data Source=192.168.1.200;Persist Security Info=false;Initial Catalog=MyDB;User Id=MyUser;Password=MyPW;Timeout=45; 

Sie können sehen, dass ich Änderungen an der Timeout gemacht, aber das hat nicht funktioniert. Aber auch hier sollte ich keine Änderungen vornehmen müssen. Ich habe gestern nur den VS 2010 SP 1 angewendet, das war die einzige Änderung. HILFE!

+1

Haben Sie versucht [dies] (http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not- open-a-Verbindung zu SQL-Server-Microsoft-SQL-Server-Fehler/# Kommentar-82996)? –

+0

Großer Vorschlag. Die Antwort muss etwas in dieser Richtung sein - es muss eine lokale Client-Änderung sein, die dies verursacht. Allerdings habe ich diese Änderungen vorgenommen und das Problem nicht behoben. –

+0

Siehe Link unten http://serverfault.com/questions/423013/sql-an-error-occurred-during-the-pre-login-handshake/423087 –

Antwort

6

Ich habe dies durch Öffnen von Port 1433 (SQL) auf der Server-Firewall behoben.

+0

Große Antwort !!!!!!!! ! – Eric

1

Ich hatte das gleiche Problem, das Sie haben. Ich habe dieses Problem gelöst, indem ich Verbindungen zwischen dem SQL-Client und dem SQL-Host in der Firewall zugelassen habe. Und absolut, Sie können den Zugriff auf Port 1433 gewähren, der speziell für SQL Server verwendet wird.

Verwandte Themen