Sql jmeter参数化JDBC请求的问题

Sql jmeter参数化JDBC请求的问题,sql,csv,jdbc,jmeter,parameter-passing,Sql,Csv,Jdbc,Jmeter,Parameter Passing,我想从csv文件中使用预定义的查询。 问题是,查询中的一些值必须随机选择,并且每个查询具有不同数量的参数。 所以我试过这样的方法: “从表中选择*,其中column=“${variable1};" 请注意,variable1已经定义并具有正确的值 问题是jMeter执行查询时没有将参数替换为其值 如基础教程中所述,不能使用“?”(问号) 有没有人知道如何解决这个问题,而不必使用Beanshell等预采样器编写自定义代码。在SELECT语句中使用JMeter变量是可能的 无法解决问题的原因可能是

我想从csv文件中使用预定义的查询。 问题是,查询中的一些值必须随机选择,并且每个查询具有不同数量的参数。 所以我试过这样的方法:

“从表中选择*,其中column=“${variable1};" 请注意,variable1已经定义并具有正确的值

问题是jMeter执行查询时没有将参数替换为其值

如基础教程中所述,不能使用“?”(问号)


有没有人知道如何解决这个问题,而不必使用Beanshell等预采样器编写自定义代码。

在SELECT语句中使用JMeter变量是可能的

无法解决问题的原因可能是:

  • (很可能)未设置变量。用于重新检查其值
  • SQL查询中存在语法错误
  • 如果您有一个“复杂”变量,如
    variable
    -是一个前缀,
    1
    是一个随机数,它来自即或函数,您需要以稍微不同的方式引用变量,如:

    • ${uuuuevalvar(变量${uuuuthreadnum}}

    • ${{uuu evalVar(${variable}${{uuu Random(1,9,)})}

  • 可能的错误<代码>“${variable1};“应该是
    ”${variable1}”
    我似乎没有正确解释我的问题。我从CSV数据集中获取整个sql。因此我的JDBC采样器只包含${query},其中查询值是整个sql语句。这里是棘手的部分:在sql中,我有几个变量“variable1”,variable2等。由于我有许多不同的SQL,它们具有不同的参数和参数类型,因此我不能在语句中使用“?”。但是,尽管我已经为所有变量提供了值,jMeter还是按照上面的解释执行它们。上面SQL中的错误是键入错误,这只是一个例子。事实上,Dimitri T,你间接地回答了我的问题${uuuu evalVar(query)}解决了我的问题,并按预期将所有变量替换到查询中。非常感谢你!