我正在VS 2010中開發一個SQL Server 2000後端的ASP.NET應用程序(我知道,我知道...)SQL Server 2000連接錯誤 - 預登錄握手?
我一直在爲這個設置工作得很好,對於最後3個大部分個月。不過,昨天我做了申請VS 2010 SP1和現在連接到這個數據庫將導致以下錯誤:
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
請記住,我並沒有改變任何連接字符串或SQL Server 2000的服務器/數據庫。因此,新增加的產品必須有一個原因。
我的連接項目是相當有
conn.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = conn;
cmd.CommandText = sqlStatement;
SqlDataReader dr = cmd.ExecuteReader();
resultData.Load(dr);
dr.Close();
conn.Close();
香草和我的連接字符串看起來像
Data Source=192.168.1.200;Persist Security Info=false;Initial Catalog=MyDB;User Id=MyUser;Password=MyPW;Timeout=45;
你可以看到,我修改了超時但這並沒有工作。但是,我再次不必做任何改變。我昨天剛剛申請了VS 2010 SP 1,這是唯一的變化。幫幫我!
您是否試過[this](http://blog.sqlauthority.com/2009/05/21/sql-server-fix-error-provider-named-pipes-provider-error-40-could-not-打開一個連接到SQL服務器微軟的SQL服務器錯誤/#評論-82996)? –
很棒的建議。答案必須是沿着這些方向的東西 - 它必須是導致這種情況的本地客戶端更改。但是,我確實進行了這些更改,但並未解決問題。 –
請參考以下鏈接 http://serverfault.com/questions/423013/sql-an-error-occurred-during-the-pre-login-handshake/423087 –