5

SQL Server 2000 バックエンドを使用して VS 2010 で ASP.NET アプリケーションを開発しています (わかっています、わかっています...)。

過去 3 か月の大部分は、この設定で問題なく動作しています。ただし、昨日 VS 2010 SP1 を適用したため、このデータベースに接続すると次のエラーが発生します。

接続タイムアウトの期限が切れました。ログイン前のハンドシェイク確認応答を消費しようとしてタイムアウト時間が経過しました。これは、ログイン前のハンドシェイクが失敗したか、サーバーが時間内に応答できなかったことが原因である可能性があります。このサーバーへの接続試行にかかった時間は - [ログイン前] 初期化 = 72 でした。握手=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 を適用したところ、それが唯一の変更点です。ヘルプ!

4

2 に答える 2

6

サーバーのファイアウォールでポート 1433 (SQL) を開くことで、これを修正しました。

于 2013-01-08T23:32:54.143 に答える
1

私はあなたと同じ問題を抱えていました。ファイアウォールで SQL クライアントと SQL ホスト間の接続を許可することで、この問題を解決しました。また、特に SQL Server に使用されるポート 1433 アクセスを許可することもできます。

于 2013-12-27T04:42:55.833 に答える