Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
 Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
Всем доброго времени суток!
Не могу разобраться, есть ли возможность вызвать процедуру/функцию SQL Server из Oracle с/без параметров штатными средствами Oracle.
3 сен 08, 14:24    [6142169]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
dobru
Member

Откуда:
Сообщений: 341
Oracle Heterogenuous Services
3 сен 08, 14:30    [6142195]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
dobru
Member

Откуда:
Сообщений: 341
http://download.oracle.com/docs/cd/B10501_01/server.920/a96544/gencon.htm#1004641
3 сен 08, 14:32    [6142213]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
Гетерогенный сервис создал, с таблицами SQL Server'а работать даёт, а вот функции/процедуры вызвать не получается.
4 сен 08, 15:59    [6147781]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
terrymoon
Member

Откуда:
Сообщений: 315
Вопрошающие
Гетерогенный сервис создал, с таблицами SQL Server'а работать даёт, а вот функции/процедуры вызвать не получается.

You can execute user-defined functions in a remote non-Oracle database. For example:
SELECT getdeptforemp@Remote_DB(7782) FROM dual;

учтите, что
As a security measure, you must specify the functions that you want to execute remotely and their owners in the HS_CALL_NAME parameter in the gateway-specific initialization parameter file. For example:

HS_CALL_NAME = "owner1.A1, owner2.A2 "

owner1 and owner2 are the remote function owner names. A1 and A2 are the remote function names. You do not need to specify the remote function owner in the SQL statement. By default, the remote function needs to reside in the schema that the Transparent Gateway connects to. If this is not the case, then you must specify the owner of the remote function in the SQL statement.
4 сен 08, 17:00    [6148297]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
А линк настраивается через Transparent Gateway или HS?
4 сен 08, 17:39    [6148552]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
terrymoon
Member

Откуда:
Сообщений: 315
Вопрошающие
А линк настраивается через Transparent Gateway или HS?

HS включает в себя Transparent Gateway или Generic Connectivity Agents.
Так что в случае MS SQL - Generic Connectivity Agents.
5 сен 08, 13:16    [6151513]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
Всё равно не получается: вызов функции выдаёт ошибку 00904 - invalid identifier. На стороне SQL Server'а на функцию даны права на select.
5 сен 08, 13:45    [6151753]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
terrymoon
Member

Откуда:
Сообщений: 315
Вопрошающие
Всё равно не получается: вызов функции выдаёт ошибку 00904 - invalid identifier. На стороне SQL Server'а на функцию даны права на select.

А на SQL сервере какая авторизация? Точнее, какая авторизаций в SQL Server используется для HS?
5 сен 08, 13:48    [6151777]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
terrymoon
А на SQL сервере какая авторизация? Точнее, какая авторизаций в SQL Server используется для HS?

Авторизация смешанная.
5 сен 08, 14:09    [6151959]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
Таблицы и вьюшки через dblink вижу, функции и процедуры недоступны. Впечатление, что что-то недонастроено на стороне SQL Server'а.
5 сен 08, 14:23    [6152081]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
Продолжаю разбираться. На SQL Server'е права вроде даны. Доступ получается даже к системным таблицам. Ни одной процедуры или функции не увидеть. Какая существенная разница в доступе к таблицам/вьюхам по сравнению с доступом к процедурам/функциям (кроме парметра HS_FDS_RESULTSET_SUPPORT)?
8 сен 08, 16:52    [6159893]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
dobru
Member

Откуда:
Сообщений: 341
Вопрошающие
Всё равно не получается: вызов функции выдаёт ошибку 00904 - invalid identifier. На стороне SQL Server'а на функцию даны права на select.


указывайте
владельца(к примеру dbo),
имена объектов (наприм таблицы, колонки, процедур) в кавычках

С уважением, dobru
9 сен 08, 06:18    [6161336]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
dobru

указывайте
владельца(к примеру dbo),
имена объектов (наприм таблицы, колонки, процедур) в кавычках

С уважением, dobru


Пробовал по-разному, и в кавычках и с именем владельца и с параметром HS_CALL_NAME. Результат один. (
10 сен 08, 11:54    [6167930]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
terrymoon
Member

Откуда:
Сообщений: 315
Вопрошающие
Продолжаю разбираться. На SQL Server'е права вроде даны. Доступ получается даже к системным таблицам. Ни одной процедуры или функции не увидеть. Какая существенная разница в доступе к таблицам/вьюхам по сравнению с доступом к процедурам/функциям (кроме парметра HS_FDS_RESULTSET_SUPPORT)?

Да вроде никакой. Правда я не встречал, что можно запускать процедуры, но функции точно можно.
У меня работает.
DSN как настроен - конектится к MS SQL под пользователем или через windows authorization?
10 сен 08, 13:20    [6168538]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
Вопрошающие
Guest
terrymoon
DSN как настроен - конектится к MS SQL под пользователем или через windows authorization?

Под пользователем.
10 сен 08, 13:25    [6168576]     Ответить | Цитировать Сообщить модератору
 Re: Вызов процедуры/функции SQL Server из Oracle  [new]
somebody
Member

Откуда: Москва
Сообщений: 708
Вопрошающие
На стороне SQL Server'а на функцию даны права на select.

Для запуска функции/процедуры у пользователя должно быть разрешение EXECUTE. Кроме того, если оттуда идёт обращение к объектам, естественно, должны быть права на эти объекты.
Для ф-ции/ХП разрешения "select" в SQL Server'е нет.
Вопрошающие
Ни одной процедуры или функции не увидеть.

А вот это уже разрешение VIEW DEFINITION...
Вопрошающие
выдаёт ошибку 00904 - invalid identifier
Приведите пример, как вызываете.
И лучше вместо кавычек заключать в квадратные скобки, EXEC [dbo].[Proc_Name], т. к. кавычки могут быть отключены через QUOTED_IDENTIFIER.
12 сен 08, 11:33    [6177703]     Ответить | Цитировать Сообщить модератору
Все форумы / Oracle Ответить