从JMeter运行存储过程

时间:2016-01-28 15:54:39

标签: oracle jdbc automation jmeter jmeter-plugins

我有一个存储过程如下所示,我运行使用PL / SQL Developer自动创建一些测试数据。它运行得很好。

begin
  create_test_data('000000316F1422C8','N',1,'2016-01-26');
end;
/

我在JMETER中自动化了一些项目,作为设置的一部分,我需要创建这些数据。我尝试使用JDBC Request Sampler连接到Oracle DB,可以激活Select Queries,它可以正常工作。

现在我想运行这个存储过程来从JMETER生成数据:我尝试使用JDBC Request sampler并复制上面的代码,但它不起作用。

有人可以帮忙吗?

  1. JDBC Request Sampler是运行此存储过程的正确方法
  2. 当我从JDBC Request Sampler运行它时,我遇到错误:
  3. 一个。错误1

    ORA-06550: line 4, column 1:
    PLS-00103: Encountered the symbol "/" The symbol "/" was ignored.
    

    湾错误2如果我从最后一行删除斜杠

    ORA-06550: line 2, column 3:
    PLS-00201: identifier 'CREATE_NEXNET_TEST_DATA' must be declared
    ORA-06550: line 2, column 3:
    PL/SQL: Statement ignored
    
    1. 我们如何最终验证存储过程是否可以成功运行
    2. 非常感谢!!

2 个答案:

答案 0 :(得分:0)

是的,JMeter能够调用存储过程,使用Callable Statement作为“查询类型”并提供相关的参数值和类型。

参考文献:

答案 1 :(得分:0)

这对我来说很好CALL SCHEMA_NAME.PKG_NAME.PROCEDURE_NAME ( PARAM_1 => 'TESTING', PARAM_2 => 0000, ... )

使用查询类型:可调用语句

public class TestwhileLoops {

    public static void main(String[] args) {
        testingWhileLoops(7);
    }

    public static void testingWhileLoops(int amount) {

        int row = 1;
        while (row <= amount) {
            int col = 1;
            while (col <= row) {
                System.out.print("Testing something "+col+"  ");
                col++;
            }
            System.out.println();
            row++;
        }
    }
}