powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS + Oracle + UDT
8 сообщений из 8, страница 1 из 1
SSRS + Oracle + UDT
    #38825295
moishamiem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем привет.

Друзья, ситуация очень напоминает цитату с баша: писал серверную часть на Oracle, думая "если что-то не так, то это будут проблемы того, кто будет лепить интерфейс", а потом вышло так что и клиентскую часть леплю я :) Да еще и на SSRS, о существовании которого я узнал неделю назад.

Короче, основная мета-задача: запросить у пользователя параметры расчета, передать их функции Oracle, от нее получить код возврата и выходные параметры, которые можно использовать в отчете.

Есть две основные проблемы:
1) Как вернуть выходные параметры процедуры/функции в SSRS? Судя по тому, что я нагуглил, по человечески никак. Нашел костыль: возвращаю sys_refcrusor типа "select p_out1, p_out2 , ... from dual;", скрипя сердцем - пойдет.
2) Как передать входные параметры, если они из себя представляют User-defined types? Т.е. мне нужно взять, к примеру, несколько параметров отчета, и обернуть их в конструктор моего типа Oracle: param(:p_param1), param(:p_param2), а потом эти параметры объединить в коллекцию: param_list(param(:p_param1),param(:p_param2)).

В целом для Oralce вызов выглядит примерно так:
Код: plsql
1.
2.
3.
begin
foo(param_list(param(:in1),param(:in2)),:out);
end;


где param() - конструктор класса, param_list () - конструктор коллекции, :in1,:in2 - входные параметры отчета, :out - sys_refcursor

А теперь, дуалистическая проблема:
Запрос в DataSet можно настроить как Text, либо как Stored Procedure, при этом, в первом случае нет проблем с вызовом конструкторов классов и коллекций (что хочу то и пишу), но возникает проблема с обработкой выходного sys_refcursor.
Во втором случае наоборот: SSRS понимает sys_refcursor, но не дает возможность подать правильные входные параметры.

Как-то так. Кто чем может помочь?
...
Рейтинг: 0 / 0
SSRS + Oracle + UDT
    #38825437
tarrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moishamiem,

Зачем вам вообще функция? Сделайте процедуру.
...
Рейтинг: 0 / 0
SSRS + Oracle + UDT
    #38825439
tarrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
tarrusmoishamiem,

Зачем вам вообще функция? Сделайте процедуру.

Ну или вызовите её в запросе. К сожалению, очень слабо ориентируюсь в Оракле, надеюсь там принцип такой же как в MSSQL.
...
Рейтинг: 0 / 0
SSRS + Oracle + UDT
    #38825711
moishamiem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tarrusЗачем вам вообще функция? Сделайте процедуру.

С процедурой остаются такие же проблемы с передачей/возвратом параметров.

tarrusНу или вызовите её в запросе. К сожалению, очень слабо ориентируюсь в Оракле, надеюсь там принцип такой же как в MSSQL.

Да, такой вариант рассматривался, но, к сожалению, в виду определенных ограничений Oracle, вызывать такую функцию в запросе по-простому нельзя (внутри функции много рекурсивного DML).
...
Рейтинг: 0 / 0
SSRS + Oracle + UDT
    #38825859
tarrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moishamiemtarrusЗачем вам вообще функция? Сделайте процедуру.

С процедурой остаются такие же проблемы с передачей/возвратом параметров.



Как такое может быть? Вот у товарища все работает.

Returning Oracle Stored Procedure Resultset in SSRS
...
Рейтинг: 0 / 0
SSRS + Oracle + UDT
    #38825897
moishamiem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tarrus,

Да, читал, сделал так же ВЫХОДНЫЕ параметры через out sys_refcrusor, что и отобразил в первом сообщении темы.

Проблема теперь передать ВХОДНЫЕ параметры, обернутые в конструкторы коллекций/объектов.
...
Рейтинг: 0 / 0
SSRS + Oracle + UDT
    #38825901
tarrus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
moishamiemtarrus,

Да, читал, сделал так же ВЫХОДНЫЕ параметры через out sys_refcrusor, что и отобразил в первом сообщении темы.

Проблема теперь передать ВХОДНЫЕ параметры, обернутые в конструкторы коллекций/объектов.

Что-то вы не для того решили SSRS использовать. Передавайте нормальные типы данных и принимайте датасет. Какие коллекции, какие конструкторы?
...
Рейтинг: 0 / 0
SSRS + Oracle + UDT
    #38825913
moishamiem
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
tarrusЧто-то вы не для того решили SSRS использовать.
Увы.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / Отчетные системы [игнор отключен] [закрыт для гостей] / SSRS + Oracle + UDT
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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