stored procedures - procedimientos - Cómo configurar parámetros de un procedimiento almacenado en JMeter utilizando una solicitud JDBC
procedimientos almacenados sql con parametros de entrada (2)
Siguiendo la ''regla de no espacio'' de la publicación anterior descubrí por qué la solicitud respondía con java.lang.NumberFormatException: para cadena de entrada: mensaje "FUERA". Vea abajo
Nombre de variable: Oracle
Consulta SQL: Stable Callable
Consulta: {call nspishr.dbpk_user_utilities.get_user_details (?,?,?,?,?,?,?)}
Valores de los parámetros: S12345, DMS, OUT, NULL, NULL, NULL, NULL
Tipos de par: VARCHAR, VARCHAR, OUT INTEGER, VARCHAR, VARCHAR, VARCHAR, VARCHAR
Nombres de variables: nombre de usuario, dms, id, cuatro, cinco, seis, siete
Observe cómo se registran los parámetros en esta llamada. En mi procedimiento, el param 1 y el param 2 son parámetros IN. Estos se realizan implícitamente en los parámetros IN dándoles un valor de parámetro S12345 y HR en mi caso.
Del param 3 hasta el param 7 son los parámetros OUT. Los parámetros 4, 5, 6 y 7 tienen valores NULL. Por lo tanto, no es necesario registrarlos como parámetros OUT. Sin embargo, el parámetro 3 (la identificación) es el parámetro OUT y debe registrarse como tal diciendo explícitamente OUT en el valor del parámetro y luego diciendo OUT INTEGER en la sección de tipos de parámetros . Lo que hay que recordar es que necesita especificar OUT tanto en el valor del parámetro como en el tipo de parámetro. No olvidar el tipo de datos del parámetro en el campo de tipos de parámetros. es decir OUT INTEGER, OUT VARCHAR ...
Espero que esto ayude
Estoy planeando cargar la base de datos usando una declaración de procedimiento almacenable invocable. El plan de prueba que estoy creando en JMeter se ve a continuación:
- Test plan
- Thread Group
- JDBC Connection Configuration
- JDBC Request
- View results tree
- Summary Report
- La configuración de conexión JDBC se basa en pruebas que ya funcionan. La pregunta es con mi solicitud JDBC:
- Nombre de variable : es el nombre de la base de datos igual que en la configuración de conexión JDBC
- Tipo de consulta :
Callable Statement
- Consulta:
{call schema.dbpk_utilities.get_user_id(?,?,?,?,?,?,?)}
- Valores de parámetros:
S12345, HR, OUT, NULL,NULL,NULL, NULL
- Tipos de parámetros :
VARCHAR, VARCHAR, INTEGER, VARCHAR, VARCHAR, VARCHAR, VARCHAR
- Nombres de variables :
username,hr, id, four, five, six, seven
El error que recibo es:
Response message: java.lang.NumberFormatException: For input string:
"OUT"
¿Alguien puede decirme por qué el mensaje de respuesta? ¿Es posible llamar a procedimientos almacenados en JMeter? ¡Estoy luchando para aprobar esta solicitud!
Cada vez que tengo que proporcionarle a JMeter una lista separada por comas, me aseguro de que no haya espacios antes / después de las comas. Yo llamo a esto la regla de ''no espacios''.
El póster sqeeky también descubrió este truco aquí , donde sqeeky dijo:
NO tiene espacios en blanco después de la coma que separa los nombres de parm, en lugar de ''$ {appid_1}, $ {appid_2}'' (donde puede ver que hay un espacio que separa los valores de ParameterName, especifique $ {appid_1}, $ {appid_2} en cambio, como los valores en la lista ParameterName, de lo contrario, en este ejemplo $ {appid_2} no se incluirán.
Las tres listas separadas por comas (valores de parámetros, tipos de parámetros, nombres de variables) infringen la regla de ''no espacios''. Intenta eliminar todos los espacios en las tres listas y vuelve a intentarlo.
Salí del documento y desafortunadamente, no vi ninguna referencia a la regla de "no espacios", o tal vez la redacción no se extendió y me atrapó.