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

Откуда: Кемерово
Сообщений: 1057
Есть рабочий запрос
select t1.*
from s1.b1.dbo.t1 t1
inner join s1.b2.dbo.t1 t2 on t2.gd = t1.DGD

Теперь я добавляю к нему еще один лефт и вызов функции
select t1.*
from s1.b1.dbo.t1 t1
inner join s1.b2.dbo.t1 t2 on t2.gd = t1.DGD
LEFT JOIN s1.b2.dbo.t2 t3 WITH (NOLOCK) ON t3.GD = s1.b1.dbo.f1(t1.AGD, t1.isAR)
и он не работает
Msg 207, Level 16, State 1, Procedure rNakl, Line 31
Недопустимое имя столбца "s1".

Подскажите какой синтаксис должен быть?
Заранее спасибо.
5 окт 12, 07:44    [13271275]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
smoyk
и он не работает
Msg 207, Level 16, State 1, Procedure rNakl, Line 31
Недопустимое имя столбца "s1".
А если вызвать
select s1.b1.dbo.f1(null, null)
или
select s1.b1.dbo.f1(1, 1)

что получится?
5 окт 12, 08:10    [13271302]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
smoyk
Member

Откуда: Кемерово
Сообщений: 1057
Такая же ошибка.
Если без имени сервера на том сервере, где функция, то все нормально.
5 окт 12, 08:38    [13271362]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
smoyk
Такая же ошибка.
Если без имени сервера на том сервере, где функция, то все нормально.
А, ну да, нельзя вызывать функции другого сервера...
5 окт 12, 08:52    [13271398]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
там и выполня
Guest
smoyk,

напиши всё в openquery. раз уж все данные для запроса на том сервере лежат, пусть там и выполняется.
5 окт 12, 09:23    [13271498]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
там и выполня
напиши всё в openquery
Так у него параметры из таблиц берутся :-(
5 окт 12, 09:51    [13271642]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
Так у него Так у него
Guest
alexeyvg
там и выполня
напиши всё в openquery
Так у него параметры из таблиц берутся :-(

так у него все таблицы с префиксом того же сервера написаны.
5 окт 12, 09:57    [13271676]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31984
alexeyvg
там и выполня
напиши всё в openquery
Так у него параметры из таблиц берутся :-(
А, или если всё вызвать в openquery, весь запрос... Да. так можно.
Но боюсь, в запросе тоже есть какие то параметры, придётся динамику делать.
Тогда можно просто sp_executesql вызвать на другом сервере.
5 окт 12, 09:57    [13271677]     Ответить | Цитировать Сообщить модератору
 Re: Вызов функции с другого сервера  [new]
smoyk
Member

Откуда: Кемерово
Сообщений: 1057
Ясно, буду думать. Спасибо.
5 окт 12, 11:23    [13272437]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить