SQL 服务器卡住了

SQL server is stuck

我遇到了一个问题,我不知道是怎么回事。 我正在使用移动设备将数据存储到本地客户的电脑(SQL 服务器)。 通讯方式是通过wi-fi。问题是如果出于某种原因我将关闭网络适配器并重新打开它。 SQL 服务器卡住了。我无法再次与手机 phone 通信,直到我重置 SQL 服务或关闭并重新打开我的手机 phone 的 wifi。为什么会这样?我该如何解决? 这是我的连接字符串

 string connectionString=" Server=myServerAddress;Database=myDataBase;User Id=myUsername;Password=myPassword";

 using(SqlConnection connection=new SqlConnection(connectionString))
 using(SqlCommand cmd = new SqlCommand("Insert into customers (name) values '"+Text1.Text+"'",connection))
  {
      connection.Open();
      cmd.ExecuteNonQuery();
   }

有时我收到错误索引在绑定数组之外,但大多数时候我收到连接超时

因为SQL服务器底层socket通信,你无法修复。 正如@ta.speot.is 所说,您的设计绝对是糟糕的。您可以增加连接到 SQL 服务器的超时时间,但这不是糟糕设计的好解决方案。套接字通信是活跃的。这就像您从服务器上拔下网络套接字,然后再次连接后期望所有操作都能毫无问题地恢复! 套接字是打开的,取决于底层 SQL 服务器的架构,套接字关闭、超时等需要一些时间。

最好的解决方案是实现与您的数据库通信的服务,通过这种方式,当 WIFI 连接丢失或发生类似情况时,与数据库的基础连接仍然存在并由 Web 服务成功处理。您的移动应用程序只是获取和 post 对 Web 服务的请求,而不关心服务如何处理数据库操作。