powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вызов функции в гетерогенном запросе
10 сообщений из 10, страница 1 из 1
Вызов функции в гетерогенном запросе
    #40039599
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть подобная тема с таким же названием, но там как я понял вопрос не закрыт.
Есть база Oracle , у которой настроен гетерогенных сервис к базе MSSQL.
Не могу заставить работать функцию через этот гетерогенный запрос, выдаёт ошибку "ORA-00904: "ME": недопустимый идентификатор", хотя таблицы показывает без проблем.
Есть мануал Executing User-Defined Functions on a Non-Oracle Database
Где как пример написан запрос:
Код: sql
1.
SELECT getdeptforemp@Remote_DB(7782) FROM dual;


Мой запрос с функцией
Код: sql
1.
select me@rig_1('26.01.21 09:36:47','26.01.21 09:56:40') from dual


Ещё в инструкции прописано указать в настройках dblink название функции с владельцем
Код: sql
1.
HS_CALL_NAME = "owner1.A1, owner2.A2 "


У меня этот файл называется initrig_1, и в нём прописал так
Код: sql
1.
HS_CALL_NAME = "dbo.me"


После этого перезапустил listener и запрос всё равно не заработал, что я делаю не так?
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039602
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита А,

попробуйте так:

Код: plsql
1.
select "me"@rig_1('26.01.21 09:36:47','26.01.21 09:56:40') from dual



в Oracle имена приводятся к верхнему регистру, в MSSQL к нижнему
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039607
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Картина не поменялась...
Вот полный конфиг initrig_1
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
HS_FDS_CONNECT_INFO = RIG_1
HS_FDS_TRACE_LEVEL = OFF
HS_FDS_CONNECT_PROPERTIES="timeout='60'"
HS_IDLE_TIMEOUT=1
HS_CALL_NAME = "dbo.me"
#HS_TRANSACTION_MODEL = SINGLE_SITE_AUTOCOMMIT
#HS_RPC_FETCH_REBLOCKING = OFF
#HS_FDS_FETCH_ROWS = 100
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039647
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита А,

Для начала посмотрите какие объекты Вы видите:

Код: plsql
1.
select * ALL_OBJECTS@dblink
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039793
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Vadim Lejnin,
Угадали сразу в точку
Код: sql
1.
select distinct OBJECT_TYPE from ALL_OBJECTS@rig_1


Получаю результат
Код: plsql
1.
2.
3.
VIEW
INDEX
TABLE

Хотя у меня назначена роль SYSADMIN, как я понимаю должны быть максимальные права
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039813
serpv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Никита А,
для dg4odbc - напрямую никак, только на стороне MSSQL как-нибудь материализовывать результат процедуры во вью или таблицу.
для dg4msql (не бесплатный) - изучать DBMS_HS_PASSTHROUGH
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039829
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
serpv,

Используется стандартный dg4odbc.

А если как сказали, во вьюху запихаю весь запрос, то тогда и я из оракл запросы делать буду, фильтры применяться
в ms будут или тянуть всю таблицу и только в оракл применяться?
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039839
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Никита А,

Если у Вас есть возможность строить объекты в MSSQL, то ее родные dblink имеют большую функциональность чем hsodbc/dg4odbc

Может посмотреть вариант переноса части логики на MSSQL?

p.s. Стоимость dg4mssql, кстати относительно гуманна по сравнения с остальными продуктами.
17500$ на комп
Oracle Global Price List
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039842
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
из оракл запросы делать буду, фильтры применяться в ms будут или тянуть всю таблицу

Будет по-разному. Смотрите планы запросов.
Можно работать из Oracle, можно из MSSQL, можно разделить на части работу, отреплицировать часть или все данные.
...
Рейтинг: 0 / 0
Вызов функции в гетерогенном запросе
    #40039867
Никита А
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Самым правильным вариант как понял, просчитать всё в ms, а в оракле вытаскивать готовые данные. Так и буду делать.

Вопросов больше нет, всем большое спасибо, без Вас бы точно не разобрался!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Вызов функции в гетерогенном запросе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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