Hi Shekh

As and idea, if ArrayUserName is an OracleTypes.ARRAY, maybe it needs to
return something as a List at `getValue()` method

regards

2018-03-23 8:34 GMT+01:00 Ahmad, Shekh Shakeel <shekh-shakeel.ah...@dxc.com>
:

> Hi All,
>
> Is that anyone can help ?
>
>
>
>
>
> Thanks & Regards
> *Shekh Shakeel Ahmad, ITIL Certified*
>
>
>
> *From:* Ahmad, Shekh Shakeel
> *Sent:* Thursday, March 22, 2018 4:34 PM
> *To:* 'comm...@groovy.apache.org' <comm...@groovy.apache.org>; '
> us...@groovy.apache.org' <us...@groovy.apache.org>; 'dev@groovy.apache.org'
> <dev@groovy.apache.org>; 'notificati...@groovy.apache.org' <
> notificati...@groovy.apache.org>
> *Subject:* Need Help to fix the error in Groovy Code
>
>
>
> Hi All,
>
> I am new in Groovy and stuck on writing in script.
>
> I have a oracle stored proc and that proc using the Arry type input
> parameter
>
> Type Parameter :
>
> create or replace TYPE "ARR_HP_STU_CERT_USERNAME" as table of
> varchar2(32767);
>
> PROC:
>
> 1.  create or replace PROCEDURE sp_hp_stu_cert_status_chk (
>
> 2.  in_track_id IN NUMBER,
>
> 3.  in_username IN arr_hp_stu_cert_username,
>
> 4.  in_certification_id IN VARCHAR2,
>
> 5.  out_details OUT SYS_REFCURSOR,
>
> 6.  out_status_code OUT NUMBER,
>
> 7.  out_status_desc OUT VARCHAR2)
>
> 8.  AS
>
> 9.  v_prc_name VARCHAR2 (50) := 'sp_hp_stu_cert_status_chk';
>
> 10. v_count NUMBER;
>
> 11. v_user_id VARCHAR2 (500);
>
> 12. required_fields EXCEPTION;
>
> 13. BEGIN
>
> 14. {
>
> 15. ;;;;; doing stuff ;;;;;;
>
> 16. }
>
> I have written a groovy code to execute that proc but its giving error
> about casting :
>
> Groovy Script :
>
> 1.  /*import org.apache.commons.io.IOUtils
>
> 2.  import org.apache.nifi.controller.ControllerService
>
> 3.  import org.apache.nifi.processor.io.StreamCallback */
>
> 4.  import java.nio.charset.*
>
> 5.  import groovy.sql.OutParameter
>
> 6.  import groovy.sql.InParameter
>
> 7.  import groovy.sql.Sql
>
> 8.  import oracle.jdbc.OracleTypes
>
> 9.  import java.sql.ResultSet
>
> 10. //import java.sql.*
>
> 11.
>
> 12.
>
> 13.
>
> 14.
>
> 15. def sql = Sql.newInstance('jdbc:oracle:thin:@//XXXXX.itcs.entsvcs.
> net:1525/XXXX', 'XXXX', 'XXXXX$', 'oracle.jdbc.OracleDriver')
>
> 16. in_track_id='1798'
>
> 17. in_certification_id='crtfy000000000003144'
>
> 18.
>
> 19.
>
> 20.
>
> 21.
>
> 22. OutParameter CURSOR_PARAMETER = new OutParameter() {
>
> 23. public int getType() {
>
> 24. return OracleTypes.CURSOR;
>
> 25. }
>
> 26. };
>
> 27.
>
> 28.
>
> 29. InParameter ArrayUserName = new InParameter() {
>
> 30. public int getType() {
>
> 31. return OracleTypes.ARRAY;
>
> 32. }
>
> 33. public Object getValue(){
>
> 34.
>
> 35.
>
> 36. }
>
> 37. };
>
> 38.
>
> 39.
>
> 40.
>
> 41.
>
> 42. def data = []
>
> 43. String sqlString ="""{call sp_hp_stu_cert_status_chk(?, ?, ?, ?, ?,
> ?)}""";
>
> 44. def status_desc
>
> 45. def status_code
>
> 46. def status_data
>
> 47. def testID
>
> 48. def parametersList = [in_track_id, ArrayUserName, in_certification_id,
> CURSOR_PARAMETER, Sql.NUMERIC ,Sql.VARCHAR];
>
> 49.
>
> 50.
>
> 51. sql.call(sqlString, parametersList) {out_details, out_status_code,
> out_status_desc ->
>
> 52. status_desc = out_status_desc
>
> 53. status_code = out_status_code
>
> 54. };
>
> 55.
>
> 56.
>
> 57. Print(status_desc)
>
> 58. Print(status_code)
>
> And this scripting giving error to of arry.type “ArrayUserName” could any
> help where I am making incorrect thing.
>
>
>
>
>
>
>
>
>
> Thanks & Regards
> *Shekh Shakeel Ahmad,*
>
>
>



-- 
Jorge Aguilera Gonzalez
CEO  PuraVida Software
http://www.puravida-software.com

Reply via email to