Я использую JMeter
для тестирования некоторых функций и процедур Oracle. Я хочу использовать JDBC request
сэмплер для вызова функции (не хранимой процедуры). Функция, которую я хочу вызвать, специфична, поскольку в ней содержится операция DML
(выполняет вставку), поэтому я не могу поместить ее в оператор выбора, так как это приведет к ошибке ORA-14551 - cannot perform a DML operation inside a query
.
Итак, попытка выполнить запрос JDBC с оператором типа запроса:
BEGIN
{call MY_PACKAGE.MY_FUNCTION(?,?)};
END;
или
{call MY_PACKAGE.MY_FUNCTION(?,?)};
! EDIT!
Добавление скриншота для отображения функции не может быть вызвано таким образом:
или выберите оператор:
select MY_PACKAGE.MY_FUNCTION(?,?) from dual
не будет работать (возвращает PLS-00221
и ORA-14551
соответственно). Теперь я знаю, как обрабатывать такие функции с помощью JSR223 Sampler (например, скрипт Groovy), но вопрос в том, можно ли это сделать с помощью JDBC Request
(и, как следствие, сохранить выходные данные функции в переменной jmeter)?
В целях тестирования вызываемая функция определяется в пакете как:
create or replace package my_package
is
function my_function(par1 varchar2, par2 varchar2) return varchar2;
end my_package;
create or replace package body my_package
is
function my_function(par1 varchar2, par2 varchar2) return varchar2
is
begin
return 'Test_Output';
end my_function;
end my_package;