powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вызов оракловой функции в PB
16 сообщений из 16, страница 1 из 1
Вызов оракловой функции в PB
    #36310073
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Функция возвращает рефкурсор, нужно вычитать его в билдере.
Пишу:
DECLARE spx_selectaccar procedure FOR spx_selectaccar
@accs = NULL,
@sval = NULL,
@srecv1 = 'Иванов Иван Иванович',
@srecv2 = NULL,
@srecv3 = NULL,
@srecv4 = NULL,
@srecv5 = NULL,
@srecv6 = NULL,
@tname = NULL,
@niduser = NULL,
@nidbranch = NULL,
@errmes = NULL,
@rc = NULL OUTPUT
using sqlbal;

возвращает ошибку. (до считывания даже не дохожу)

Что неправильно и как надо?
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36310351
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Насколько я помню такую ф-ю можно использовать в качестве источника данных для DW.
Поэтому даже если вы найдете как это через Embedded SQL сделать, способ через DW (Datastore) предпочтительнее.

ЗЫ. Как именно делать не помню. Не знал и забыл. По идее это делается просто мастером DW на основе хранимых процедур.
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36310419
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Если возврат только одного значения, можно так, в переменную ref

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
String srecv1,srecv2,srecv3

srecv1 = 'Иванов Иван Иванович'
srecv2 = 'Он же Жора'
srecv3 = 'Он же Гоша'

select spx_selectaccar ( :srecv1 , :srecv2 , :srecv3)
INTO :ref
from DUAL;

Если много значений, то как было предложено, через DW (Datastore)
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36311370
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для Oracle желательно все-таки dw(ds)
-----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355039
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Возвращаюсь к вопросу..Не строится на этой функции datawindow, говорит, что не знает такую процедуру. А как вообще можно продекларировать и профетчить эту функцию в билдере? Как передать в нее параметр - курсор? (rc - это и есть курсор)
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355080
bumsy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может банально Database Profile не на ту базу прописан в проекте в PB...
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355084
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да нет, все банальное я проверила
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355142
Фотография Anatoly Moskovsky
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поищите в инете примеры DW на функции с ref cursor и посмотрите в чем отличия с вашей реализацией.
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355153
Фотография Филипп
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А ref cursor IN OUT?
Вообще то всё это работает как часы. Я даже делал динамические datawindow, которые тянули данные из ХП (когда мне надоело, что количество возвращаемых колонок всё время меняется).
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355264
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да курсор in out, кроме него, есть еще стринговый параметр, который тоже in out. Я вас прошу, покажите на пальцах, как сделать..я вообще не спец, и оракл совсем не знаю. просто мы в коннекшне с оракловой базой тянем данные в мускульную базу.
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355748
Фотография spas2001
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю это поможет
Хранимые процедуры Oracle как источних данных для DW -----------------------------------------------------------------------------
Главная деталь любой машины - голова ее владельца
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355783
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, но...эта ссылка приводит на страницу, где огромное количество ссылок на по различным аспектам чьей-то жизнедеятельности...мне быстрее в гугле искать информацию:)
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355861
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
CREATE OR REPLACE Procedure pr_you_really_must_see_it
       (dwresultset in out cyr_for_dw.curtype,as_you_string in CHAR)
   IS

BEGIN
    open dwresultset for
    --Ваш SELECT-----------------------------------
    SELECT (всякое)
     FROM (таблица)
   WHERE  таблица.это = as_you_string
----------------------------------------------------
   ;
    
END;

В PB при создании DW выбрать источник Stored Procedure
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36355949
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в общем, на процедуре датавинда строится, а на функции - нет:(
так что дальнейшие выходы мы придумываем уже в рамках проекта:)
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36356131
maxATC
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лампочка,
>на процедуре датавинда строится, а на функции - нет:(
Железная логика!
Что-то не понятно, а зачем Вам именно функция нужна для построения DW? Просто включите её в SELECT, а параметры для нее берите которые передаете как параметры Retrieve данного DW, данная функция и вернет в списке возвращаемых значений своё значение. Вам такая реализация нужна?
...
Рейтинг: 0 / 0
Вызов оракловой функции в PB
    #36357804
Лампочка
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
у нас есть ограничения на использование других баз. А эта функция из другой базы. Нужно использовать ttb только ее, ничего другого в той базе делать нельзя. А датавинда на этой функции не строится!!! Зато прекрасно строится на процедуре, которая возвращает рефкурсор. Вот и ищем способ ИЗВЛЕЧЬ ДАННЫЕ ИЗ РЕФКУРСОРА.
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Вызов оракловой функции в PB
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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