Salesforce

Database AFX test connector capabilities fail when using stored procedure OUT parameters in RSA Identity Governance & Lifecycle

Header
Database AFX test connector capabilities fail when using stored procedure OUT parameters in RSA Identity Governance & Lifecycle
Database-AFX-test-connector-capabilities-fail-when-using-stored-procedure-OUT-parameters-in-RSA-Identity-Governance-Lifecycle
Database AFX test connector capabilities fail when using stored procedure OUT parameters in RSA Identity Governance & Lifecycle
Work in Progress
2,434.39
Article Content
 
RSA Product Set: Identity Governance & Lifecycle 
RSA Version/Condition: 6.9.1, 7.0.x, 7.1.x
Database AFX Connectors have a Command Code field in their connector capabilities where SQL statements may be entered. If a stored procedure 
with an OUT parameter (@out_param) is entered in this field and is subsequently executed (test connector capabilities), the following error is displayed:
 
exec dbo.MyStoredProcedure @user_first_name=${FirstName},@user_last_name=${LastName},
@out_param=@out_var output

java.lang.IllegalArgumentException: No SQL Strategy found for SQL statement

If a declare statement is added to the same query, a different error occurs:
 
declare @out_var;
call dbo.MyStoredProcedure @user_first_name=${FirstName},@user_last_name=${LastName},
@out_param=@out_var output

Invalid escape sequence declare

 
The RSA Identity Governance & Lifecycle Database AFX Connector does not support calling stored procedures with OUT parameters.  The product supports calling Stored Procedures with IN parameters only from a Database AFX Connector.
 
The resolution to this issue is to define an AFX output parameter which will be used to store the value or values returned by the stored procedure defined in the query field of the output parameter in those capabilities that have a Command Output Parameters option. Below is an example of a connector capability with the Command Output Parameters option:
 
User-added image


Please note the resolution to this issue requires a minimum RSA Identity Governance & Lifecycle version of 6.9.1 or 7.0.0. Prior to 6.9.1, output parameters did not support stored procedures. This functionality was introduced as part of enhancement request ACM-53863.


A detailed example on how to do define the output parameter is below. Please see the section entitled Use Stored Procedures in Connector in the RSA Identity Governance & Lifecycle - MySQL Application Guide for more details. Although this is a MySQL Application Guide, the information on using stored procedures applies to all AFX database connectors.


EXAMPLE:

Below is an example of a stored procedure which returns a value that needs to be stored so that it may be used in later operations and/or other connector capabilities. To do this, an AFX output parameter is added to the capability under the Command Output Parameter section. In the Query field a stored procedure is defined that when executed, returns the value and appropriately stores it in the given mapping field.

  1. Create the stored procedure which returns some value.
           In this example a stored procedure has been created which takes User as an Input parameter and returns UserID based on the User provided.
 
DELIMITER // 
CREATE PROCEDURE GetUserID(IN con VARCHAR(20)) 
BEGIN
     select UserID from mysql.user where User=con;
END// 
DELIMITER ;
 
  1. Create the AFX Input parameter required to pass into the stored procedure. In this case it should be User.
  2. Create an AFX Output parameter which will be used to store the value returned by the above stored procedure. In this case, this is UserID.
  3. Call the stored procedure:
  • In the Query field of the output parameter (AccountID), call the stored procedure as:
CALL db1. GetUserID ('User')
  • The value returned as part of the above query execution is stored in the appropriate mapping field defined for this output parameter.
  • This stored output parameter can be used in subsequent capabilities.  


Engineering ticket ACM-75945 has been raised to request this functionality in the product. However, the best way to request enhancements is to go to RSA Ideas for RSA Identity Governance & Lifecycle and submit a request. For information on how to log a request for enhancement, please see RSA Knowledge Base Article 000036416 -- How to log a request for enhancement (RFE) for RSA Identity Governance & Lifecycle.

000035509
Article Settings
External
Case
Cristy Sy
8/31/2017 1:53 AM
Cristy Sy
Article Assignment
 
 
 
Article Properties
Published
Knowledge
000045627
Cristy Sy
Katrina Nash
English

Powered by