У меня есть предоставленная хранимая процедура (SP), которую я должен выполнить в Tibco, которая имеет следующую подпись:
PROCEDURE GET_STOCK_QTY(
WarehouseId Number,
LineItem ref_lines,
ResponseCode OUT Number,
ResponseDesc OUT Varchar2,
RespLineItems OUT sys_refcursor
);
* ref_lines * определяется следующим образом:
TYPE items_record is RECORD(
ItemCode varchar2(15),
ItemQuantity number
);
type ref_lines IS REF CURSOR RETURN items_record;
Итак, как вы уже заметили, у меня есть курсор в качестве входа и выхода SP.Я уже гуглял по этим видам проблем и обнаружил, что Tibco не поддерживает этот тип входных и выходных данных, я также обнаружил, что он даже не поддерживает логический нативный тип, что странно ...: SВ любом случае, насколько я прочитал, на подходе два возможных решения:
- SQL Direct
- Пользовательская функция Java
Теперь мои сомнения.
Если я собираюсь использовать решение № 1, мне нужно создать курсор для ввода в качестве ввода в чистом sql, но как мне это сделать?Должен ли я создать временную таблицу со значениями, которые у меня есть для ввода, а затем открыть курсор для этой таблицы?Это единственный способ сделать это?
Я еще не исследовал решение номер два, но я подумал, что Java может поддерживать такие входы и выходы, и я просто объявляю массивы.Это предположение верно?Будет ли это так просто, или мне придется вызывать sql, как в решении № 1?
PS: эти 2 возможных решения единственные?Есть ли гуру тибко с обходным решением, чтобы BW поддерживал эти странные входы и выходы?: P
Заранее спасибо, Tiago Brunhoso Nunes