Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

ASP - Использование хранимых процедур с помощью ADO

Использование хранимых процедур с помощью ADO

Хранимая процедура представляет собой откомпилированное заранее семейство инструкций SQL и необязательных инструкций управления порядком выполнения, хранимое под указанным именем и обрабатываемое как единое целое. Создание хранимых процедур со включенной группировкой соединений может явиться предметом отдельного рассмотрения. Например, создание временных хранимых процедур для подготовленных инструкций SQL является возможностью, настраиваемой из администратора источников данных ODBC. По умолчанию для драйверов SQL Server 2.65 и 3.5 используется значение "On", что означает создание и компиляцию временной хранимой процедуры при подготовке инструкций SQL. Когда подготовленная команда вызывается одним из методов ADO, выполняется временная хранимая процедура; такой подход экономит накладные расходы на разбор и компиляцию инструкции SQL. Правильное использование этой возможности позволяет увеличить быстродействие приложения. Если инструкция SQL будет выполняться более двух раз или будет выполняться более одного раза, но содержит параметры, инструкцию следует подготавливать. Помните: чтобы подготовить инструкцию, при первом запуске она должна быть скомпилирована; результаты подготовки инструкции теряются при отключении от базы данных.

Если разрешена группировка соединений, необходимо решить, когда следует удалять временную хранимую процедуру. При работе с драйвером SQL Server 2.65 хранимые процедуры будут освобождены при освобождении подключения. При работе с драйвером SQL Server 3.5 есть возможность удаления их или при освобождении подключения, или в подходящий момент в подключенном состоянии.

С временными хранимыми процедурами и группировкой подключений могут быть связаны проблемы с памятью. Если используются установки по умолчанию, существует риск входа за границы памяти в TempDB, где создаются и хранятся временные хранимые процедуры. Если разрешено группирование подключений, выполняется подключение к базе данных, но когда клиент завершает работу с ним и освобождает его, подключение возвращается в группу. Подключение не освобождается и хранимая процедура не удаляется из TempDB, даже если они не связаны с клиентом и никогда не будут вызваны.

Таким образом, при работе с драйверомSQL Server 2.65 можно посоветовать запретить создание временных хранимых процедур при подготовке, если разрешена группировка подключений. Для драйвера SQL Server 3.5 возможность создания временных хранимых процедур должна быть запрещена или установлена в значение "disconnect and as appropriate" при включенной группировке подключений. Установка этого параметра в значение "disconnect and as appropriate" свидетельствует о том, что ODBC-драйвер SQL Server прервет подключение, когда объект OLE DB Icommand, создавший временную хранимую процедуру, будет освобожден. Если программа клиента использует ADO, хранимая процедура будет освобождена при закрытии объектов ADODB.Recordset и ICommand.

Оставить комментарий

Комментарий:
можно использовать BB-коды
Максимальная длина комментария - 4000 символов.
 
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог