Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Запуск ХП Firebird в MSSQL  [new]
Гость_20090929
Guest
Добрый день всем!

Использую Linked Server для подключения к Firebird 2.1.1.
MSSQL2k8Developer.

Все запросы типа insert, update, delete работают нормально, а вот процедуру ну никак не могу запустить.
Пробовал так:
exec FB_LINKED...MY_PROC 123
- не работает (ругань)
Потом так:
select * from openquery(FB_LINKED,'select * from table; execute procedure MY_PROC (123)')
- не работает (ругань).

Господа, как быть? Переписывать все ХП с Firebird на MSSQL - не рационально - придется все изменения потом дублировать, но хуже всего то, что я не могу оперировать BLOB полями через Linked Server (например, в FB хранится BLOB-поле, которое мне нужно перекинуть в другую таблицу FB).

Прошу помощи.
29 сен 09, 15:41    [7720858]     Ответить | Цитировать Сообщить модератору
 Re: Запуск ХП Firebird в MSSQL  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
select * from openquery(FB_LINKED,' execute procedure MY_PROC (123)')

а просто так ???

или если 2005 и віше то

exec ('execute procedure MY_PROC (123)') at FB_LINKED
попробуйте
-------------------------------------
Jedem Das Seine
29 сен 09, 15:46    [7720887]     Ответить | Цитировать Сообщить модератору
 Re: Запуск ХП Firebird в MSSQL  [new]
Senya_L
Member

Откуда: Москва
Сообщений: 5381
Гость_20090929,

Вы бы хоть "ругань" сервера привели...
Позволю себе прокомментировать :)
автор
exec FB_LINKED...MY_PROC 123
Неправильный синтаксис обращения к ХП. Параметры должны быть в скобках.
автор
select * from openquery(FB_LINKED,'select * from table; execute procedure MY_PROC (123)')
Нельзя перемешивать SELECT-запросы и вызовы процедур.

ЗЫ. И вообще неплохо бы сначала запросы проверять в родной среде разработки, например, в IBExpert'е.
29 сен 09, 15:59    [7720976]     Ответить | Цитировать Сообщить модератору
 Re: Запуск ХП Firebird в MSSQL  [new]
Гость_20090929
Guest
Спасибо за ответы.
Maxx, огромное спасибо тебе - твое решение помогло. Пять лет на MSSQL2k оттрубил, и вот год как на 2k5, а про такую конструкцию ничего не слышал (надо мне вернуться к истокам бытия :) к BOL :) ).

Senya_L,
про
exec FB_LINKED...MY_PROC 123
я, конечно, понимаю... просто с точки зрения синтаксиса MSSQL здесь как раз все в порядке, а вот FB, конечно же, ждет скобки - просто эти скобки нужно проставлять например в openquery...

по поводу OPENQUERY тоже абсолютно согласен.
в любом случае спасибо, что откликнулись.
29 сен 09, 16:26    [7721159]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить