A number of people seemed to have asked similar questions over the years, but I do not see complete or relevant answers.
In Oracle we have a simple stored procedure that takes an input parameter and returns a cursor as an output parameter. We have experimented with SYS_REFCURSOR and strongly typed cursors, the results are the same.
For example: PROCEDURE GET_INDICATORS_FOR_ASSET(p_assetNumber IN VARCHAR2, indicators OUT SYS_REFCUR);
In UiPath we have configured the ExecuteQuery activity as follows:
Parameters:
â p_assetNumber - In - String - â123â
â indicators - Out - DataTable
Is DataTable the correct âTypeâ for the Out parameter? If not, what type should be used when a SYS_REFCURSOR is returned by the stored proc?
As weâve experimented trying to get this basic feature working, the errors we are seeing vary from âUnmarshalColumnData unimplemented typeâ to âORA-06550 invalid PL/SQLâ.
We have experimented with the Oracle.ManagedDataAccess.Client as well as the OLE Db driver for Oracle - the results are the same.
The error âUnmarshalColumnData unimplemented typeâ to âORA-06550 invalid PL/SQLâ usually occurs when UiPath is unable to map a column data type returned by a stored procedure to a corresponding .NET data type. This can happen when the stored procedure returns a data type that is not supported by UiPath or when the data type is not recognized correctly.
To resolve this error, you can try the following solutions:
Check the data types of the columns returned by the stored procedure and compare them with the data types supported by UiPath. Some data types, such as BLOB or LONG, may not be supported by UiPath. If the stored procedure returns unsupported data types, you can modify the stored procedure to convert the data to a supported data type or to split the data into smaller chunks.
Check if the stored procedure is returning any null values or empty strings. UiPath may not be able to handle null or empty values in some cases. You can modify the stored procedure to return default values for null or empty values or handle them in UiPath using conditional statements.
Verify that the stored procedure is written correctly and does not contain any syntax errors. You can try executing the stored procedure in a SQL client to check if it returns data without any errors. If there are any syntax errors, you need to correct them before executing the stored procedure in UiPath.
Check the version of the Oracle client installed on your system. UiPath may not support some older versions of the Oracle client. You can try updating the Oracle client to the latest version and see if the error persists.
Try using a different approach to retrieve data from the stored procedure. For example, instead of using the Execute Non Query or Execute Query activities, you can try using the Oracle.DataAccess.Client.OracleDataAdapter class in a custom activity to retrieve data from the stored procedure.
If none of the above solutions work, you can try contacting UiPath support for further assistance.
In my latest test the âGET_SUPER_SIMPLE_RESULTâ stored procedure takes 0 inputs and returns 1 output cursor. It doesnât get any simpler than this.
Did you get any solution for this? I am also facing the same issue. Did anyone get any solution for this? I just want to know how we can call the Oracle stored Procedure with Out parameters from UiPath.