Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
АндрейИванов Member Откуда: Сообщений: 64 |
Добрый день. Подскажите, как отловить и подавить ошибку коннекта к связаному серверу? Так не работает: BEGIN TRY INSERT INTO temp1 SELECT field1 FROM [192.168.167.166].[DB1].[dbo].table1; END TRY BEGIN CATCH INSERT INTO temp1(field1) VALUES ('192.168.167.166 ОШИБКА ПОДКЛЮЧЕНИЯ'); END CATCH; |
25 дек 17, 14:33 [21060529] Ответить | Цитировать Сообщить модератору |
АндрейИванов Member Откуда: Сообщений: 64 |
Вместо того чтобы записать '192.168.167.166 ОШИБКА ПОДКЛЮЧЕНИЯ' Запрос просто отваливается с ошибкой подключения. |
25 дек 17, 14:37 [21060546] Ответить | Цитировать Сообщить модератору |
АндрейИванов Member Откуда: Сообщений: 64 |
Как сделать чтобы при ошибке подключения писалось в табличку нужное мне сообщение ВМЕСТО ошибки соединения и прерывания запроса? |
25 дек 17, 14:42 [21060566] Ответить | Цитировать Сообщить модератору |
Руслан Дамирович Member Откуда: Резиновая нерезиновая Сообщений: 940 |
вроде должно сработать.DECLARE @tsql NVARCHAR(MAX) = 'INSERT INTO [temp1] SELECT field1 FROM [192.168.167.166].[DB1].[dbo].[table1];' ; BEGIN TRY EXEC sp_executesql @tsql END TRY BEGIN CATCH INSERT INTO [temp1]( [field1] ) VALUES ( '192.168.167.166 ОШИБКА ПОДКЛЮЧЕНИЯ' ); END CATCH; |
25 дек 17, 14:44 [21060577] Ответить | Цитировать Сообщить модератору |
ptr128 Member Откуда: Moscow Сообщений: 887 |
EXEC (N'INSERT INTO temp1 SELECT field1 FROM [192.168.167.166].[DB1].[dbo].table1') IF @@ERROR<>0 INSERT INTO temp1(field1) VALUES ('192.168.167.166 ОШИБКА ПОДКЛЮЧЕНИЯ') Иначе на компиляции уже падает, до начала выполнения. |
25 дек 17, 14:47 [21060594] Ответить | Цитировать Сообщить модератору |
ptr128 Member Откуда: Moscow Сообщений: 887 |
Руслан Дамирович, простите, писал долго ( |
25 дек 17, 14:48 [21060598] Ответить | Цитировать Сообщить модератору |
АндрейИванов Member Откуда: Сообщений: 64 |
Так сработало, спасибо!!! Но почему с insert напрямую, без переменной не срабатывает? о_О |
||
25 дек 17, 14:52 [21060625] Ответить | Цитировать Сообщить модератору |
АндрейИванов Member Откуда: Сообщений: 64 |
И так тоже работает, спасибо! |
||
25 дек 17, 14:54 [21060640] Ответить | Цитировать Сообщить модератору |
iap Member Откуда: Москва Сообщений: 47052 |
Определение недоступности линкед-сервера |
25 дек 17, 14:55 [21060648] Ответить | Цитировать Сообщить модератору |
ptr128 Member Откуда: Moscow Сообщений: 887 |
|
||||
25 дек 17, 14:55 [21060649] Ответить | Цитировать Сообщить модератору |
АндрейИванов Member Откуда: Сообщений: 64 |
Да, я уже понял :) |
||||||
25 дек 17, 14:58 [21060667] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |