出于测试目的,我需要通过JMeter调用DB2存储过程。
我建立了一个 JDBC连接,然后添加了 JDBC请求步骤,但是在填充参数时遇到了问题。
问题在于参数之一是从.bin文件中获取的BLOB,我找不到插入它的方法。该参数是从CSV文件读取的。
我所做的是:
Query Type: Callable statement
CALL MY.STOREDPROCEDURE(?,?,?)
Parameter values: ${par1},FROM_FILE('${par2}'),'a'
Parameter types: IN VARCHAR, INOUT BLOB, OUT VARCHAR
我得到的错误是它无法将String转换为Blob(
非法转换:无法从“ java.lang.String”转换为 “ java.sql.Blob” ERRORCODE = -4474 SQLSTAT = null。)。
我认为问题在于FROM_FILE函数返回带有文件内容的字符串。 遵循我在网上发现的一个想法,我设置了一个 JSR233采样器,以使用Groovy脚本加载该文件,我将该文件另存为一个对象,但是当我读取它时,它仍然看起来像是一个字符串,即使具有常规脚本($ {__ groovy()})。
我试图在调用中添加强制类型转换,但随后会收到关于“过程调用的文学替换解析失败”的错误。
如何将Blob传递给调用?