Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
Всем привет! Столкнулся с непонятной для меня ситуацией. Задача: Нужно отловить ошибку в блоке try..catch. Сценарий: два MSSQL (15.0.4153.1) соединение через ( SQLNCLI или MSOLEDBSQL ) на сервере А процедура с ошибкой выполнения Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. на сервере Б делаем ее вызов в блоке try..catch Код: sql 1. 2. 3. 4. 5. 6. 7. 8. в результате ошибка не отлавливается, то есть нет сообщения 'словили ошибку'. но если убрать print или set nocount on перед raiserror в процедуре на сервере А, то все работает как надо! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2021, 08:30 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
sergio2021, попробуйте Код: sql 1. или Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2021, 10:13 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
komrad, так уже пробовал. конечно есть решение сделать процедуру обёртки Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. и вызывать ее Но хотел бы понять природу ошибки. И найти другое решение. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2021, 10:26 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
sergio2021 Всем привет! Столкнулся с непонятной для меня ситуацией. Задача: Нужно отловить ошибку в блоке try..catch. ... в результате ошибка не отлавливается, то есть нет сообщения 'словили ошибку'. но если убрать print или set nocount on перед raiserror в процедуре на сервере А, то все работает как надо! Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2021, 14:58 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
sergio2021, используйте return для возврата ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2021, 18:14 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
HandKot, Спасибо, но это таже обертка но с другой стороны. Владислав Колосов, ретурн получается, только если подавить экцепшн. Код: sql 1. 2. 3. 4. тогда сработает: Код: sql 1. 2. но мне нужно отловить текст ошибки. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.09.2021, 18:39 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
sergio2021 Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. Инструкция THROW учитывает SET XACT_ABORT . Инструкция RAISERROR — нет. В новых приложениях следует использовать инструкцию THROW вместо RAISERROR. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2021, 10:30 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
Uridian, Не помогает( https://www.sommarskog.se/error_handling/Appendix1.html вот здесь есть: Erland SommarskogSo more in general, if you have a remote procedure that runs with SET NOCOUNT ON and first produces an informational message (for instance with PRINT) and then produces an error, you cannot trap this error with TRY-CATCH in your local procedure. видимо нужно избавляться от PRINT. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2021, 11:43 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
sergio2021, возвращайте код ошибки с минусом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2021, 12:52 |
|
||
|
nocount on, print и try..catch через linked server
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, уже пробовал, см. выше. Не помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 15.09.2021, 15:27 |
|
||
|
|

start [/forum/topic.php?fid=46&msg=40097576&tid=1684304]: |
0ms |
get settings: |
10ms |
get forum list: |
12ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
11ms |
get forum data: |
2ms |
get page messages: |
53ms |
get tp. blocked users: |
2ms |
| others: | 300ms |
| total: | 425ms |

| 0 / 0 |
