ESP dSeries Workload Automation

 View Only

 SQLException: Output parameters have not yet been processed. Call getMoreResults().

Desiree Anson's profile image
Desiree Anson posted Nov 26, 2020 12:26 PM
I'm getting the failure in the subject of this thread.  Can anyone help with this?  I appreciate the help.

I have a stored procedure job.  I set a return data type & success criteria to determine if the job succeeds or fails, & it fails the job if the value returned doesn't match the success criteria.  The job runs correctly, but I always get an error.


The SQL in the stored procedure is like the following:
SELECT result
FROM #results

When I run the stored procedure, it returns a table with the column name as "result" and the value is "SUCCESS".

My success criteria in the job is "result=SUCCESS", the return datatype is "varchar". 

I modeled this after the explanation in the "Define a DB Stored Procedure" manual
Define a DB Stored Procedure Job
, which explains:
  • Return data type
    Specifies the variable type to be returned.
  • Success criteria
    Defines a regular expression that is used to evaluate a return string. If the return string matches the regular expression, the job completes successfully. Otherwise, the job fails.
  • This field only applies to SQL queries that are SELECT statements.
  • Each return string includes the field name from the SELECT statement and its value, separated by an equal sign (=). For example, consider the query SELECT ORD_NUM FROM SALES. To match order number A2976, specify the regular expression ORD_NUM=A2976. Specifying the regular expression A2976 does not match any return string causing the job to fail. You can also specify the regular expression .*A2976, which matches any return string that ends with A2976.


Nitin Pande's profile image
Broadcom Employee Nitin Pande
Hi,
The success criteria will match anything that comes from the select statement.  You can specify something like: result=\*
If you don't care about the output then you can just wildcard.  This can be specified as a catchall for anything: \*.\*

HTH,
Nitin Pande
Desiree Anson's profile image
Desiree Anson
Thanks Nitin. 

It looks like now I have to update my jdbc connection setup. 

I updated my job so that I added the DB URL and get this error:
Java Runtime Environment (JRE) version 1.7 is not supported by this driver. Use the sqljdbc4.jar class library, which provides support for JDBC 4.0.

This is what I put in the DB URL of the job:
jdbc:sqlserver://<server host>:1433;DatabaseName=<db name>

I downloaded the latest JDBC driver jar.  I put in this folder
<server>:C\Program Files\CA\WorkloadAutomation_R12\jre\lib
File name: sqljdbc41.jar

Do I need to edit this string to use the latest version for the jdbc connection?  This is from the
<server>:C\Program Files\CA\WorkloadAutomation_R12\ESPSystemAgent\config\sql
Filename: sqlagent.properties

#the following property defines the class used to create jdbc connection
db.classname=net.sourceforge.jtds.jdbc.Driver
Nitin Pande's profile image
Broadcom Employee Nitin Pande
Hi Desiree,
So you will need to add MS JDBC class in the string.
See this link here.
The string will be: com.microsoft.sqlserver.jdbc.SQLServerDriver

Nitin Pande