Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / какие способы сослаться на удаленную хранимую процедуру? / 11 сообщений из 11, страница 1 из 1
09.02.2012, 14:35
    #37653825
NiceBigMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
Как сослаться на удаленную хранимую процедуру?
через public синоним и dblink выдает ошибку
Oracle Forms 6.0 выдает FRM-10760 error encoutered while describing stored procedure
...
Рейтинг: 0 / 0
09.02.2012, 15:04
    #37653935
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
Ну сделайте простейшую не удаленную процедуру, которая ничего не делает, а только дергает удаленную. В чем проблема?

Серверных "фичь" не доступных на прямую из Forms выше крыши. Forms 6i это версия 8.0.6, с тех пор в Oracle много нового появилось.
...
Рейтинг: 0 / 0
09.02.2012, 15:06
    #37653944
NiceBigMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
я тоже так думал, но:

Код: plsql
1.
2.
3.
4.
5.
create or replace public synonym stock_query_link for A$STOCK_PS.stock_query@HQLINK;

grant execute on A$STOCK_PS to STOCK; -- под кем работает HQLINK

A$STOCK_PS - public синоним на пакет



Oracle Forms 6.0 выдает FRM-10760 error encoutered while describing stored procedure


Без dblink компилится и работает без проблем
...
Рейтинг: 0 / 0
09.02.2012, 15:35
    #37654033
NiceBigMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
Что значит дергает удаленную? А параметры, а коллекция через которую работают хранимые процедуры?
...
Рейтинг: 0 / 0
09.02.2012, 16:06
    #37654124
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
NiceBigManЧто значит дергает удаленную? А параметры, а коллекция через которую работают хранимые процедуры?
Ну параметры и параметры:
Код: sql
1.
2.
3.
4.
procedure remote_procedure_wapper( paramenter1, parameter2, parameter3 ) is
begin
   remote_procedure@db_link( paramenter1, parameter2, parameter3 );
end;


Как-то так. Сложно что ли? Поди таких процедур не миллион. А если много - явно с архитектурой системы что то не то. Винегрет из локальной и удаленной базы.
...
Рейтинг: 0 / 0
09.02.2012, 16:16
    #37654156
NiceBigMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
Вы вообще знаете, как работают хранимые процедуры в Forms?
Создается пакет и коллекция в нем, которая еще описывается в блоке и гоняется между формой и пакетом, где в пакете посредством этой коллекции производятся действия над таблицами.

Это надо писать локальный пакет и делать ссылки на коллекцию удаленного пакета.
И еще, Forms юзает в своих процедурах типы, описанные в пакете и они становятся камнем преткновения


Код: plsql
1.
2.
3.
4.
5.
6.
DECLARE
bk_data A$STOCK_PS.T_STOCK_TABLE; -- это коллекция в пакете
BEGIN
A$STOCK_PS.STOCK_QUERY(:LOCAL.A, bk_data); -- это процедура в пакете
PLSQL_TABLE.POPULATE_BLOCK(bk_data, 'VSTOCK');
END;




Как сослаться в локальной форме на коллекцию A$STOCK_PS.T_STOCK_TABLE удаленного пакета?
Обернуть локально эту коллекцию не представляю как
...
Рейтинг: 0 / 0
09.02.2012, 16:49
    #37654261
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
NiceBigManВы вообще знаете, как работают хранимые процедуры в Forms?

Создается пакет и коллекция в нем, которая еще описывается в блоке и гоняется между формой и пакетом, где в пакете посредством этой коллекции производятся действия над таблицами.

И... знаю. Правда сейчас с Forms не работал уже года 3.

Хранимые процедуры - это процедуры на _сервере_. Forms тут не при чем.
NiceBigManСоздается пакет и коллекция в нем, которая еще описывается в блоке и гоняется между формой и пакетом, где в пакете посредством этой коллекции производятся действия над таблицами.

пакет где?
В forms, на родном сервере или на удаленном сервере.
NiceBigMan
Не надо фигню городить с удаленными серверами. Тогда все будет хорошо.

Я уж не говорю, что лично у меня даже и передача сложных типов, между клиентом Forms 6i и сервером Oracle 8.1.5 не работала (даже и без дб-линка).
NiceBigManКак сослаться в локальной форме на коллекцию A$STOCK_PS.T_STOCK_TABLE удаленного пакета?
Обернуть локально эту коллекцию не представляю как
IMHO

1. Создать удаленную процедуру/функцию getter'ер возвращающую эти данные.
2. Создать локальную процедуру/функцию враппер к п.1
3. Вызвать из Forms.

В чем проблема?
...
Рейтинг: 0 / 0
09.02.2012, 16:52
    #37654270
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
Откуда у Вас вообще взялся удаленный сервер. Какой "умник" придумал на удаленный сервер унести куски программ ( A$STOCK_PS ) отвечающие за _интерфейс_. И зачем это сделали?
...
Рейтинг: 0 / 0
09.02.2012, 17:04
    #37654302
NiceBigMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
Есть процедуры в пакете на удаленном сервере.
Его надо позвать на клиенте в Forms.
Не я это придумал
...
Рейтинг: 0 / 0
09.02.2012, 17:09
    #37654319
NiceBigMan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
пакет лежит на удаленном сервере, а дергать надо на клиенте, в том то и фишка
...
Рейтинг: 0 / 0
09.02.2012, 17:21
    #37654361
Leonid Kudryavtsev
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
какие способы сослаться на удаленную хранимую процедуру?
NiceBigManНе я это придумал

Ну так и скажите тому, кто это придумал "Шарик, ты балбес".

В крайнем случае, письмо напишите, кочергу бандеролью отправить или закажите контейнерные перевозки, если бочку на него катить будете.

Брать _работающую_ систему, необдуманно переносить логику черти куда и черти зачем - это открытая деверсия. Ну ладно таблички. Перенесли табличку и сделали на них синонимы. Тупо, по простому - понять можно. Но пакеты отвечающие за поддержку интерфейса (даже не бизнес-логики) зачем?

Чем их наличие на "ближнем" сервере не угодило? К тому же, пакеты всего лишь прокладка между Forms и табличками. Явно там большой бизнес-логики нет. А так, скорее всего, все формы нужно менять и принципиально менять. А кто тестить будет? А самое главное, когда полезут глюки, кто будет виноват? Программист, который занимался переписыванием _рабочего_ кода в не рабочий и не протестированный?
...
Рейтинг: 0 / 0
Форумы / Oracle Forms [игнор отключен] [закрыт для гостей] / какие способы сослаться на удаленную хранимую процедуру? / 11 сообщений из 11, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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