SQL服务器卡住了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL服务器卡住了相关的知识,希望对你有一定的参考价值。
我遇到了问题,我不知道发生了什么。我正在使用移动设备将数据存储到本地客户的PC(SQL服务器)。通信方法是通过Wi-Fi。问题是如果由于某种原因我将关闭网络适配器并重新打开它。 SQL服务器它完全卡住了。我再也无法与手机通信,直到我重置SQL服务或者我将关闭并从我的手机重新打开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 Server的底层套接字通信无法修复它。正如@ ta.speot.is所说,你的设计绝对不好。您可以增加与SQL Server的连接超时,但它不是糟糕设计的好解决方案。套接字通信是活的。这就像你从服务器上拔下网络插座并再次连接后,期望所有的操作恢复没有任何问题!套接字是打开的,根据底层SQL Server的体系结构,它需要一些时间来关闭套接字,超时等。
最好的解决方案是实现与数据库通信的服务,通过这种方式,当WIFI连接丢失或类似的情况发生时,与数据库的基础连接仍然存活并由Web服务成功处理。您的移动应用程序只是获取并将请求发布到Web服务,而不关心服务如何处理数据库操作。
以上是关于SQL服务器卡住了的主要内容,如果未能解决你的问题,请参考以下文章