Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как получить сообщение exception с линкованного сервера interbase?  [new]
Гость007
Guest
Как получить сообщение exception с линкованного сервера?
Выполняю вот такую процедуру на линкованном interbase с mssql2008
exec ('execute procedure sp_bla_bla_bla(1)') at interbase

Он валится с ошибкой
Поставщик OLE DB "LCPI.IBProvider.3" для связанного сервера "server" вернул сообщение "Ошибка выполнения SQL выражения.exception 144

Пробовал TRY/CATCH - он не реагирует на данный exception.

Как получить текст exception в переменную?
19 сен 14, 10:07    [16594148]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 37067
Еще в один exec завернуть?
19 сен 14, 10:21    [16594206]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гость007
Он валится с ошибкой

И у нее есть номер sql server-а ?
19 сен 14, 10:24    [16594218]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Гость007
Guest
Гавриленко Сергей Алексеевич,
set @cmd = 'exec (''sp'') at server'
EXEC sp_executesql @cmd
Так try тоже не срабатывает.
19 сен 14, 10:25    [16594226]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Гость007
Guest
Glory,
Это полный текст ошибки:
Поставщик OLE DB "LCPI.IBProvider.3" для связанного сервера "server" вернул сообщение "Ошибка выполнения SQL выражения.
exception 144
Invalid name".
19 сен 14, 10:27    [16594237]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31435
Гость007
Гавриленко Сергей Алексеевич,
set @cmd = 'exec (''sp'') at server'
EXEC sp_executesql @cmd
Так try тоже не срабатывает.
Напишите реально исполняемый текст и реальную ошибку.
19 сен 14, 10:27    [16594241]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гость007
Это полный текст ошибки:
Поставщик OLE DB "LCPI.IBProvider.3" для связанного сервера "server" вернул сообщение "Ошибка выполнения SQL выражения.
exception 144
Invalid name".

Ошибка MSSQL выглядит так
Server: Msg "Здесь номер ошибки", Level 16, State 1, Line 1
"Здесь текст сообщения"
19 сен 14, 10:35    [16594279]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гость007
Так try тоже не срабатывает.

TRY срабатывает на ошибку MSSQL, а не на некий текстовый результат, который возвращает ваш линкед сервер.
19 сен 14, 10:36    [16594283]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Гость007
Guest
alexeyvg,

exec ('execute procedure sp_name(params)') at server
Полный текс ошибки в посте Glory.
Если выполнять непосредственно на ibase сервере error = Invalid name.
19 сен 14, 10:37    [16594287]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Гость007
Guest
Glory,

Да это не ms sql, а скорее линкованого сервера ошибка.
19 сен 14, 10:39    [16594295]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Гость007
Да это не ms sql, а скорее линкованого сервера ошибка.

Тогда что вы хотите от TRY ?
19 сен 14, 10:40    [16594303]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Гость007
Guest
Glory
Гость007
Да это не ms sql, а скорее линкованого сервера ошибка.

Тогда что вы хотите от TRY ?

А вдруг:)
Я ищу любой способ как то прокинуть текс этого сообщения с переменную.
19 сен 14, 10:44    [16594328]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
Гость007
Guest
Вот так try/catch ловит
SET @cmd = 'exec (''sp'') at server'
BEGIN TRY
EXEC sp_executesql @cmd

Либо что то возвращать из нее и обрабатывать.
19 сен 14, 15:46    [16596314]     Ответить | Цитировать Сообщить модератору
 Re: Как получить сообщение exception с линкованного сервера interbase?  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31435
Гость007
Вот так try/catch ловит
SET @cmd = 'exec (''sp'') at server'
BEGIN TRY
EXEC sp_executesql @cmd

Гость007
set @cmd = 'exec (''sp'') at server'
EXEC sp_executesql @cmd
Так try тоже не срабатывает.
Так ловит или не ловит???
20 сен 14, 00:00    [16598758]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить