错误:异常查询为'在ALLAccounts_BAK上创建NONCLUSTERED INDEX [I1] ( [Master_received_Day] ASC )”,但发生一个或多个错误。 错误:异常内部异常无法从传输连接读取数据:在非阻塞套接字上的操作将阻塞。
这是执行此查询的C#代码:
private void ExecuteQuery(string qStr)
{
using (SqlConnection cnx = new SqlConnection(_ConnectionString))
{
using (SqlCommand cmd = new SqlCommand(qStr, cnx))
{
cmd.Connection.Open();
cmd.ExecuteNonQuery();
}
}
}
在查询之前对连接字符串进行了测试,以确保它将通过检索两行数据来进行连接。没有其他人使用该数据库。该查询已经在SQL操作控制台中进行了测试,并且可以正常工作。这是与Azure数据库的tcp连接。我已经使用此类代码加载了数据并完成了查询。是什么原因导致这种错误?
答案 0 :(得分:2)
好吧,除了连接超时和远程连接超时外,我还发现了另一个隐藏在MS文档中的东西。如果在我的示例中,将执行打开和执行的两行替换为:
cmd.Connection.Open();
cmd.CommandTimeout = 0; // 0 sets it so the "command" doesn't time out!
cmd.ExecuteNonQuery();
添加该行后,效果很好!令我惊讶的是,这种说法没有更明显地体现出来。如果有人可以解释这一点,那就太好了!