System.Data.SqlClient.SqlError: 在从服务器接收结果时发生传输级错误 5
sqlserver客户端在高频访问时有时大约有1%的概率会出现此错误{System.Data.SqlClient.SqlError:在从服务器接收结果时发生传输级错误。(...
sqlserver客户端在高频访问时有时大约有1%的概率会出现此错误
{System.Data.SqlClient.SqlError: 在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 - 信号灯超时时间已到)}
当前环境为:客户端win7 32位,服务端:windows server2008 sp1,sqlserver 2008 R2
当前操作为,向数据端的一个表高频调用插入语句,时不时会弹出此错误,执行的代码如下
private void test_Click(object sender, EventArgs e)
{
try
{
ExecSql(sqlconn, "insert into T_test(T_QRList,T_Machine_ID)values(@T_QRList,'1234')", new SqlParameter("@T_QRList", T_QRList.Text),);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static DataTable ExecSql(string sqlConnectionString, string sqlstr, params SqlParameter[] Params)
{
using (SqlDataAdapter sda = new SqlDataAdapter(sqlstr, sqlConnectionString))
{
sda.SelectCommand.Parameters.AddRange(Params);
DataTable dt = new DataTable();
sda.Fill(dt);
sda.SelectCommand.Parameters.Clear();
return dt;
}
}
经在调试环境测试,当把本地网络关闭的5秒内执行会报此错误,超过后再执行会报【在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)】的错。
而其他情况下,不管是用多线程发还是通循环发都无法报出此错误,但一安装到其他机器上,就会时不时弹出此报错【在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 - 信号灯超时时间已到)】。
求大神指点。 展开
{System.Data.SqlClient.SqlError: 在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 - 信号灯超时时间已到)}
当前环境为:客户端win7 32位,服务端:windows server2008 sp1,sqlserver 2008 R2
当前操作为,向数据端的一个表高频调用插入语句,时不时会弹出此错误,执行的代码如下
private void test_Click(object sender, EventArgs e)
{
try
{
ExecSql(sqlconn, "insert into T_test(T_QRList,T_Machine_ID)values(@T_QRList,'1234')", new SqlParameter("@T_QRList", T_QRList.Text),);
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
public static DataTable ExecSql(string sqlConnectionString, string sqlstr, params SqlParameter[] Params)
{
using (SqlDataAdapter sda = new SqlDataAdapter(sqlstr, sqlConnectionString))
{
sda.SelectCommand.Parameters.AddRange(Params);
DataTable dt = new DataTable();
sda.Fill(dt);
sda.SelectCommand.Parameters.Clear();
return dt;
}
}
经在调试环境测试,当把本地网络关闭的5秒内执行会报此错误,超过后再执行会报【在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: Named Pipes Provider, error: 40 - 无法打开到 SQL Server 的连接)】的错。
而其他情况下,不管是用多线程发还是通循环发都无法报出此错误,但一安装到其他机器上,就会时不时弹出此报错【在从服务器接收结果时发生传输级错误。 (provider: TCP Provider, error: 0 - 信号灯超时时间已到)】。
求大神指点。 展开
2个回答
2017-09-02
展开全部
System.Data.SqlClient.SqlError: 在从服务器接收结果时发生传输级错误
用VS2005+SQLSERVER2008开发C/S的程序,程序上线运行一段时间之后发现在某些功能偶尔出现如下的错误:
在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) ---> System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
用VS2005+SQLSERVER2008开发C/S的程序,程序上线运行一段时间之后发现在某些功能偶尔出现如下的错误:
在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。) ---> System.Data.SqlClient.SqlException: 在向服务器发送请求时发生传输级错误。 (provider: TCP 提供程序, error: 0 - 远程主机强迫关闭了一个现有的连接。)
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询