【问题标题】:JMeter: Inserting record into database by using JDBC requestJMeter:使用 JDBC 请求将记录插入数据库
【发布时间】:2017-08-15 23:41:38
【问题描述】:

我已经在我的 JMeter 测试计划中配置了 JDBC 连接。 JDBC 连接中的数据库设置配置正确。 我正在从我的一个请求响应中提取员工 ID。(即 Employee_Id) 通过使用 BSF PostProcessor,我将员工 ID 存储到名为 Emp_ID 的变量中 我想将提取的员工 ID 插入到我的数据库中。

使用的数据库是 Oracle SQL developer,版本 4.0.1.14,Build MAIN-14.48。 表名是:Employee_Details 列名:Employee_id,数据类型:VARCHAR2

在 JDBC 请求中,我选择了“查询类型”作为“更新语句”并输入了以下查询:

Query 1: INSERT INTO Employee_Details (Employee_id) 
         VALUES (${Emp_ID})

Query 2: INSERT Employee_id='${Emp_ID}'

参数类型以 VARCHAR2 形式给出。

在两次执行中,JMeter 都显示错误为“无法创建 PoolableConnectionFactory(ORA-00923:未在预期位置找到 FROM 关键字)”

请就此提出宝贵的建议。

【问题讨论】:

    标签: jmeter


    【解决方案1】:

    我找到了一个避免出现问题的解决方法:

    JDBC Request Query Type 需要是:Update Statement 查询需要作为块处理

    BEGIN
    
    SQL Statement
    
    END;

    【讨论】:

      【解决方案2】:

      我的期望是您的验证查询不正确:

      如果您保留“验证查询”框的默认值 - Select 1 - Oracle 可能不太喜欢它。你需要改成select 1 from dual

      参考资料:

      【讨论】:

      • 感谢 DMitri T 的建议,它现在正在工作。
      【解决方案3】:

      有以下三点:

      1. 检查验证查询并将其留空。附上截图
      2. 执行插入查询时,保持查询类型为已更新
      3. 执行查询时请添加database.tablename,然后执行。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2017-03-13
        • 2023-04-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多