Должен ли я всегда использовать connection.close - PullRequest
3 голосов
/ 14 января 2011
  1. Должен ли я всегда закрывать соединение с БД или оно закрывается автоматически?

  2. Что произойдет, если я не закрою его?

  3. Можно ли как-то закрыть соединение в случае ошибки asp? Я не хочу использовать команду «по ошибке перейти к следующему», но остановлю скрипт, если произойдет ошибка.

  4. Чем отличается автоматическое закрытие между SQL Server 2008 и 2012?

1 Ответ

4 голосов
/ 14 января 2011
  1. Да, вы всегда должны стараться закрыть все, что открываете.Выполнение этого как можно раньше в коде освобождает ресурсы, которые могут быть повторно использованы другими запросами.

  2. Не так много, соединение будет закрыто, когда на объект соединения будет полностью отменена ссылка,в типичном коде ASP (где большинство разработчиков, кажется, не обращают внимания на концепцию функции или подпроцедуры), это будет, когда ваш сценарий завершен.Это может держать соединение открытым дольше, чем необходимо, что нарушает масштабируемость приложения.

  3. Нет.Поскольку ошибка приведет к довольно быстрому завершению вашего сценария, я не буду беспокоиться о том, чтобы попытаться справиться с этим.

  4. Нет.ASP и ADODB на самом деле не беспокоятся о версии SQL Server, к которой их просят подключиться.

...