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

Откуда:
Сообщений: 173
Добрый день!
Подскажите пожалуйста. Есть запрос с mssql к базе oracle через openquery.
Я хотел сделать следующее, когда в запросе есть ошибка то в сообщениях возвращается ошибка oracle,
например
"OLE DB provider "OraOLEDB.Oracle" for linked server "LOANDB_RO" returned message "ORA-00923: FROM keyword not found where expected"

Хотел выцеплять отдуда код ошибки ORA-00923 и в конструкции try-catch выводить ее описание.

Пример:

begin try
select * from openquery(Oracle_db,'select top 10 * from test.test_table')
end try

begin catch
--грубо говоря для примера
select 'ORA-00923: missing FROM keyword пропущено ключевое слово FROM '
end catch


Но если в openquery ошибка то нет перехода на блок catch, а просто в сообщениях вылетают ошибки.
Как в таком случае получить скажем в переменную эту ошибку oracle?
15 дек 17, 13:26    [21036697]     Ответить | Цитировать Сообщить модератору
 Re: отловить ошибку с помощью try-catch из openquery  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36965
Ошибки компиляции вы так не поймаете. Все ошибки от линкед-сервера, если их за раз более одной, не поймаете.
15 дек 17, 13:40    [21036753]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить