powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как запустить функцию из другой БД?
14 сообщений из 14, страница 1 из 1
Как запустить функцию из другой БД?
    #39681177
Алекс_1981
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Не могу в своей БД запустить скалярную функцию, которая находится в другой БД. Базы между собой залинкованы. Представления получается запускать, а функции нет.
Пишу так (где Base название другой базы):
select pole1, pole2, Base.dbo.f_fun(argument) from Base.dbo.Table
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681179
Фотография Сергей Викт.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
А код ошибки предполагается угадать?
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681181
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс_1981Базы между собой залинкованы. Что-что базы межуд собой?
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681192
Алекс_1981
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Гавриленко Сергей АлексеевичАлекс_1981Базы между собой залинкованы. Что-что базы межуд собой? они связаны между собой Linked Servers
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681194
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс_1981Гавриленко Сергей Алексеевичпропущено...
Что-что базы межуд собой? они связаны между собой Linked Servers
а в слове Linked Servers ничего не смущает?
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681195
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс_1981Гавриленко Сергей Алексеевичпропущено...
Что-что базы межуд собой? они связаны между собой Linked ServersВ вашем коде нет обращения к базам на linked-серверах.
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681366
Алекс_1981
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
с утра на работе, привожу пример своего скрипта:
SELECT [Поле_1] , [Поле_2], NameServer.NameBD.dbo.f_NameFunction(Argument) FROM NameServer.NameBD.Table

Выдает ошибку:
Remote function reference 'NameServer.NameBD.dbo.f_NameFunction' is not allowed, and the column name 'NameServer' could not be or is ambiguos

А если представление вызываю из этой БД (NameServer.NameBD), то все работает. Как правильно вызвать функцию?
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681448
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс_1981с утра на работе, привожу пример своего скрипта:
SELECT [Поле_1] , [Поле_2], NameServer.NameBD.dbo.f_NameFunction(Argument) FROM NameServer.NameBD.Table

Выдает ошибку:
Remote function reference 'NameServer.NameBD.dbo.f_NameFunction' is not allowed, and the column name 'NameServer' could not be or is ambiguosУстановите опцию rpc out у линкед сервера.
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681454
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Алекс_1981,
Скалярную функцию, если не ошибаюсь так не вызвать. Вариант создать локальную с запросом на внешнюю, или OPENQUERY
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681458
Алекс_1981
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKАлекс_1981,
Скалярную функцию, если не ошибаюсь так не вызвать. Вариант создать локальную с запросом на внешнюю, или OPENQUERY
Подскажи пжл как?
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681460
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а почему нельзя сделать аналогичную функцию на вашем сервере?
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681478
Алекс_1981
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_Oneа почему нельзя сделать аналогичную функцию на вашем сервере?
Параметры с того сервера подставлять в функцию на моем сервере? может быть и можно, я не пробовал.
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681502
Алекс_1981
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaKАлекс_1981,
Скалярную функцию, если не ошибаюсь так не вызвать. Вариант создать локальную с запросом на внешнюю, или OPENQUERY
попробовал OPENQUERY - получилось. спасибо за подсказку.
Мой код:
declare @sql nvarchar(max)='';
set @sql='SELECT [Поле_1] , [Поле_2], dbo.f_NameFunction(Argument) FROM Table'
set @sql='SELECT * FROM OPENQUERY([Name_Server],'+@sql+')'
exec sp_executesql @sql

Теперь весь этот запрос хочу оформить внутри View, чтоб обращаться как к таблице на своем сервере - но не получается. Представление исполняется, а сохранить не дает, пишет что нельзя использовать ключевое слово Declare

Кто подскажет, как такой скрипт сохранить во View ?
...
Рейтинг: 0 / 0
Как запустить функцию из другой БД?
    #39681503
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
никак
...
Рейтинг: 0 / 0
14 сообщений из 14, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как запустить функцию из другой БД?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]