5

我正在使用 SQL Server 2000 后端在 VS 2010 中开发 ASP.NET 应用程序(我知道,我知道......)

在过去 3 个月的大部分时间里,我一直在使用这个设置。但是,昨天我确实应用了 VS 2010 SP1,现在连接到此数据库会导致以下错误:

连接超时已过期。尝试使用登录前握手确认时超时时间已过。这可能是因为登录前握手失败或服务器无法及时响应。尝试连接到此服务器所花费的持续时间是 - [Pre-Login] 初始化 = 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 主机之间的连接解决了这个问题。当然,您可以授予端口 1433 访问权限,该端口专门用于 SQL Server。

于 2013-12-27T04:42:55.833 回答