Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Отловить завершение SP  [new]
Clobap
Member

Откуда:
Сообщений: 7
Запускаю SP в асинхронном режиме:
With cmd

.ActiveConnection = Conn
.CommandType = adCmdStoredProc
.CommandText = "ShowSostAll"
.Parameters.Append .CreateParameter("ObjID", adInteger, adParamInput, , Object)
.Execute , , ADODB.adAsyncExecute
End With

SP заполняет некоторую таблицу данными. Затем мне нужно будет открыть по этой таблице Recordset.
Ожидаю завершения работы процедуры:
While cmd.State = ADODB.adStateExecuting

DoEvents
Wend

Цикл завершается до того, как SP полностью заполнит таблицу, в результате чего в Recordset заносятся не все данные. Пробовал отлавливать событие в Conection, то же самое. Как можно наиболее точно узнать о завершении асинхронной хранимой процедуры?
19 янв 04, 16:34    [497513]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
SET NOCOUNT ON в процедуре есть?
19 янв 04, 16:36    [497525]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
Clobap
Member

Откуда:
Сообщений: 7
Нет! А что это?
19 янв 04, 16:45    [497542]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Попробуй поставить.
19 янв 04, 16:46    [497546]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
Clobap
Member

Откуда:
Сообщений: 7
Не помогло, но всё равно спасибо.
19 янв 04, 18:10    [497720]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
Glory
Member

Откуда:
Сообщений: 104760
Цикл завершается до того, как SP полностью заполнит таблицу, в результате чего в Recordset заносятся не все данные.

Здесь явное противоречие. Если у вас уже есть Recordset с какими-то данными, то процедура уже закончила свою работу.
19 янв 04, 18:13    [497730]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
Clobap
Member

Откуда:
Сообщений: 7
Я запускал SP в обычном режиме при тех же условиях и в результате получил то, что нужно.
19 янв 04, 18:23    [497752]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
Glory
Member

Откуда:
Сообщений: 104760
Еще раз - процедура на TSQL не может вернуть данные раньше, чем закончится.
19 янв 04, 18:25    [497755]     Ответить | Цитировать Сообщить модератору
 Re: Отловить завершение SP  [new]
Clobap
Member

Откуда:
Сообщений: 7
Процедура не возвращает набор строк, а заносит данные в некоторую таблицу, по которой отдельным запросом открывается Recordset.
19 янв 04, 18:39    [497777]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить