5

Pracuję nad aplikacją ASP.NET w VS 2010 z serwerem SQL Server 2000 (wiem, wiem ...)Błąd połączenia z serwerem SQL Server 2000 - logowanie przed zalogowaniem?

Pracowałem dobrze z tą konfiguracją przez większą część ostatnich 3 miesięcy. Jednak wczoraj zrobiłem zastosować VS 2010 SP1 i teraz podłączeniu do tej bazy danych powoduje następujący błąd:

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

Należy pamiętać, że nie wprowadzono żadnych zmian ani w ciągu połączenia lub SQL Server 2000/bazy danych. Musi więc istnieć powód, dlaczego tak się dzieje od czasu pojawienia się nowych dodatków.

Moi elementy przyłączeniowe są dość wanilia z

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

A mój ciąg połączenia wygląda

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

Widać, że zrobiłem zmiany limitu czasu, ale to nie działa. Ale znowu nie powinienem wprowadzać żadnych zmian. Właśnie zastosowałem wczoraj VS 2010 SP 1, która była jedyną zmianą. WSPARCIE!

+1

Czy próbowałeś [this] (http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40- could-not- open-a-connection-to-sql-server-microsoft-sql-server-error/# comment-82996)? –

+0

Świetna propozycja. Odpowiedź musi być czymś podobnym - musi to być lokalna zmiana klienta, która to powoduje. Wprowadziłem jednak te zmiany i nie rozwiązałem problemu. –

+0

Patrz poniżej linku http://serverfault.com/questions/423013/sql-an-error-occurred-during-the-pre-login-handshake/423087 –

Odpowiedz

6

Naprawiłem to przez otwarcie portu 1433 (SQL) na zaporze ogniowej serwera.

+0

Wielką odpowiedzi !!!!!!!! ! – Eric

1

Miałem ten sam problem, który masz. Rozwiązałem ten problem, zezwalając na połączenia między klientem SQL a hostem SQL w zaporze. Absolutnie można przyznać dostęp do portu 1433, który jest specjalnie używany w SQL Server.

Powiązane problemy