|
|
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
Работаю с SQL Server 2000, Access XP и ADO Необходимо отлавливать сообщения, которые может посылать хранимая процедура (RAISERROR, PRINT). Знаю, что они должны ловиться в событии InfoMessage объекта Connection, но у меня это событие никогда не срабатывает:-( Код такой: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. Кто-нибудь такое делал, расскажите как? Пробовал как на VB6, так и на Access. Все последние сервис-паки установлены! Поиском обпользовался, форумов обчитался:-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 12:23 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
У Гетц во 2 томе сказано что print поймать нельзя. здесь пытались отловить для индикации выполнения ХП но по-моему без результатно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 14:51 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
Хорошо, фиг с ним с print'ом, а RAISERROR можно? Как? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:13 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
Вот Пример из нелпа-поиграйся Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 16:40 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
К сожалению, в коллекции ADODB.Errors ничего нет, было бы вынул. Асинхронные запросы вообще на VB ничего туда не пишут - коллекция всегда пуста при любых ошибках. Единственный вариант отлавливать их в событиях объекта Connection. ExecuteComplete отлавливает ошибки или RAISERROR > 10, но мне хочется генерить ошибки, чтобы иметь представлении о ходе выполнения процедуры. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 17:04 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
Обсуждалось здесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 18:12 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
Читал я это! Но проблемму там не решили, сколько ни спрашивал автор темы:-( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 18:42 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
Значит нужно идти в обход. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 18:55 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
>Значит нужно идти в обход. Второй набор (рекодсет)? OutPut-параметры? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 08.07.2003, 20:50 |
|
||
|
Ассинхронные запросы и InfoMessage в ADO
|
|||
|---|---|---|---|
|
#18+
2 Senin Viktor В обход - значит устранить причины проблемы, а не бороться с последствиями. Проблема: процедура выполняется слишком медленно, необходимо показывать пользователю процесс ее выполнения, чтобы он не подумал, что компьютер завис. Варианты решений (предлагались в указанной выше ссылке): - оптимизировать код процедуры - вынести выполнение процедуры в задания на сервере - показывать юзеру мультики ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 09.07.2003, 10:27 |
|
||
|
|

start [/forum/topic.php?fid=45&msg=32202319&tid=1680662]: |
0ms |
get settings: |
10ms |
get forum list: |
20ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
91ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
65ms |
get tp. blocked users: |
2ms |
| others: | 236ms |
| total: | 447ms |

| 0 / 0 |
