将结果保存到Jmeter中文件的格式

将结果保存到Jmeter中文件的格式,jmeter,Jmeter,我执行了一个JDBC请求,并将结果保存到一个文件中,希望将该文件使用到CSV数据集配置中进行参数化 我已成功将结果保存到文件中,但无法处理文件格式,即列与其值之间的间距 如果是,我应该应用任何SQL语句吗 请提供解决方案大多数/所有db都有内置的函数来修剪空白 MySQL:TRIM()、RTRIM()、LTRIM() Oracle:RTRIM(),LTRIM() SQL Server:RTRIM(),LTRIM() 所以如果这不起作用 select trim(columnName) fro

我执行了一个JDBC请求,并将结果保存到一个文件中,希望将该文件使用到CSV数据集配置中进行参数化

我已成功将结果保存到文件中,但无法处理文件格式,即列与其值之间的间距

如果是,我应该应用任何SQL语句吗
请提供解决方案

大多数/所有db都有内置的函数来修剪空白

  • MySQL:TRIM()、RTRIM()、LTRIM()
  • Oracle:RTRIM(),LTRIM()
  • SQL Server:RTRIM(),LTRIM()
所以如果这不起作用

select trim(columnName) from some_table 
试一试


在我看来,使用这些SQL函数格式化SQL数据,使其从一开始就保持干净是最快和最干净的选择。也就是说,如果你不能做到这一点,还有其他选择。您可以在select中执行replace()。。你可以用比恩希尔。。您可以修改jmeter CSV文件中的分隔符,这样您就可以使用Beanshell语言来消除额外的空格,例如:

  • 在执行文件写入的后处理器之后添加,或作为相关采样器的子级添加。您也可以使用,但它将出现在您的测试结果中
  • 将以下代码放入后处理器的“脚本”区域:

    上面的代码将删除给定文件中出现的所有空白。从理论上讲,您可以在不读取和覆盖文件的情况下动态执行此操作,但我们需要更多地了解您的脚本,以提出确切的解决方案。有关在JMeter测试中使用Beanshell的更多详细信息,请参阅指南


  • Jmeter设计用于对服务器运行负载测试,而不是运行单个JDBC请求。。。
    rtrim(ltrim(columnName)) from some_table
    
    import org.apache.commons.io.FileUtils;
    
    File myFile = new File("/path/to/your/file.csv");
    String source = FileUtils.readFileToString(myFile);
    String withoutSpaces = source.replaceAll(" ","");
    FileUtils.writeStringToFile(myFile,withoutSpaces);