5

Je développe une application ASP.NET dans VS 2010 avec une base SQL Server 2000 (je sais, je sais...)Erreur de connexion SQL Server 2000 - Protocole de pré-connexion?

Je travaille très bien avec cette configuration pour la plus grande partie du dernier 3 mois. Cependant, hier je l'ai fait appliquer VS 2010 SP1 et maintenant la connexion à cette base de données provoque l'erreur suivante:

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

Gardez à l'esprit que j'ai pas modifié soit la chaîne de connexion ou le serveur/base de données SQL Server 2000. Donc, il doit y avoir une raison pour laquelle cela se passe depuis les nouveaux ajouts.

Mes éléments de connexion sont assez vanille avec

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

Et ma chaîne de connexion ressemble

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

Vous pouvez voir que j'apporté des modifications au délai d'attente, mais cela ne fonctionne pas. Mais, encore une fois, je ne devrais pas avoir à faire des changements. Je viens d'appliquer le VS 2010 SP 1 hier, qui a été le seul changement. AIDEZ-MOI!

+1

Avez-vous essayé [this] (http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not- open-a-connection-à-sql-server-microsoft-sql-server-error/# comment-82996)? –

+0

Excellente suggestion. La réponse doit être quelque chose dans ce sens - il doit s'agir d'un changement de client local qui en est la cause. Cependant, j'ai fait ces changements et cela n'a pas résolu le problème. –

+0

Reportez-vous ci-dessous lien http://serverfault.com/questions/423013/sql-an-error-occurred-during-the-pre-login-handshake/423087 –

Répondre

6

J'ai corrigé cela en ouvrant le port 1433 (SQL) sur le pare-feu du serveur.

+0

Grande !!!!!!!! Réponse ! – Eric

1

J'ai eu le même problème que vous. J'ai résolu ce problème en autorisant les connexions entre le client SQL et l'hôte SQL dans le pare-feu. Et absolument, vous pouvez accorder l'accès au port 1433, qui est spécifiquement utilisé pour SQL Server.