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

Откуда:
Сообщений: 26
MS SQL 2008 + слинкованный сервер Oracle.
Необходимо с MS SQL вызвать функцию\процедуру на оракловом сервере и в случае исключения обработать его в MS SQL.
Подобный запрос:
declare @result as integer
EXECUTE ( 'begin ?:=ECM_GW.create_invoice_doc(1, ''ew'', to_date(''2011-01-01'', ''YYYY-DD-MM''), 2, ''sdsd'',''sdsds''); end;', @result OUTPUT) AT TAS;

выдает ошибку:
OLE DB provider "OraOLEDB.Oracle" for linked server "TAS" returned message "ORA-20103: Оракловий ексепшн!!!
ORA-06512: at "DIRECTUM.P_EXCEPTION", line 33
ORA-06512: at "DIRECTUM.ECM_GW", line 18
ORA-06512: at line 1".

Msg 7215, Level 17, State 1, Line 3
Could not execute statement on remote server 'TAS'

С помощью TRY...CATCH я могу получить последние две строки, которые выдает непосредственно MS SQL.

Подскажите, как добраться до исключения сгенерированного Ораклом?
4 апр 12, 17:52    [12366374]     Ответить | Цитировать Сообщить модератору
 Re: Как перехватить исключение слинкованного сервера?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
_Наталья
Подскажите, как добраться до исключения сгенерированного Ораклом?

На стороне сервера - никак.
4 апр 12, 17:53    [12366389]     Ответить | Цитировать Сообщить модератору
 Re: Как перехватить исключение слинкованного сервера?  [new]
Yurasik
Member

Откуда:
Сообщений: 15
Гавриленко Сергей Алексеевич
На стороне сервера - никак.

Но ведь в Студии ошибка видна? Значит МС СКЛ ее получает, а получается ее никак не отловить?...
6 апр 12, 12:37    [12375319]     Ответить | Цитировать Сообщить модератору
 Re: Как перехватить исключение слинкованного сервера?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Yurasik
Гавриленко Сергей Алексеевич
На стороне сервера - никак.

Но ведь в Студии ошибка видна? Значит МС СКЛ ее получает, а получается ее никак не отловить?...
Студия - это не сервер, а обычное клиентское приложение. А на самом сервере можно поймать только последнюю ошибку.
6 апр 12, 12:42    [12375356]     Ответить | Цитировать Сообщить модератору
 Re: Как перехватить исключение слинкованного сервера?  [new]
trew
Member

Откуда: Москва
Сообщений: 2646
_Наталья,
Определение недоступности линкед-сервера
https://www.sql.ru/articles/mssql/2005/101908definitionofinaccessibilitylinkedserver.shtml
6 апр 12, 15:13    [12376796]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить