SQL-сервер застрял - PullRequest
       10

SQL-сервер застрял

0 голосов
/ 19 сентября 2018

У меня проблема, и я не знаю, что происходит.Я использую мобильный телефон для хранения данных на ПК локального клиента (сервер SQL).Способ связи через вай фай.Проблема в том, что если по какой-то причине я закрою сетевой адаптер и снова открою его.SQL-сервер застрял на всех.Я не могу связаться с мобильным телефоном снова, пока я не сброслю службу SQL или не закрою и не открою Wi-Fi со своего мобильного телефона.Почему это случилось?как я могу это исправить?Вот моя строка соединения

 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();
   }

Иногда я получаю, что индекс ошибки был вне связанного массива, но большую часть времени я получаю тайм-аут соединения

1 Ответ

0 голосов
/ 19 сентября 2018

Это потому, что основной сокет связи SQL Server, и вы не можете это исправить.Как говорит @ ta.speot.is, ваш дизайн абсолютно плох.Вы можете увеличить время ожидания подключения к SQL Server, но это не хорошее решение для плохого дизайна.связь сокета жива.Это похоже на то, что вы отключаете сетевой сокет от сервера и после его подключения снова ожидаете, что все операции возобновятся без каких-либо проблем!Сокеты открыты, и в зависимости от архитектуры базового SQL Server потребуется некоторое время для закрытия сокетов, тайм-аута и т. Д.

Наилучшим решением является реализация службы, которая взаимодействует с вашей базой данных, таким образом, когдаПотеря соединения WIFI или что-то в этом роде является основным соединением с базой данных, которое еще живо и успешно обрабатывается веб-службой.Ваше мобильное приложение просто получает и отправляет запросы в веб-службу, и не заботится о том, как служба обрабатывает операции с базой данных.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...