Forum Discussion

janusz_krzyzak's avatar
janusz_krzyzak
New Contributor
12 years ago

Problem with execute stored procedure

I have a stored procedure on a oracle db server, that I need to call from my tc script.



the procedure header is as follows:

create or replace procedure p_tc_przelicz_potw(ps_potw_nr varchar2) is



I have tried to implement the above in js script in two ways.

Both gave me:

Parameter object is improperly defined. Inconsistent or incomplete information was provided.



1st way which i tried:



function nFin()

{



  var Proc;

  Proc = ADO.CreateADOStoredProc();

  Proc.ConnectionString = "Provider=MSDASQL.1;Password=xxx;Persist Security Info=True;User ID=dbm;Data Source=palt3";

  Proc.ProcedureName = "p_tc_przelicz_potw";

  Proc.Parameters.CreateParameter("ps_potw_nr", adVarChar, adParamInput, 12, 'HS0000002776');

  Proc.ExecProc();

  Log.Message("Fin realized");

}



And the 2nd way

function nFin2()

{

  var Proc;

  Proc = ADO.CreateADOStoredProc();

  Proc.ConnectionString = "Provider=MSDASQL.1;Password=xxx;Persist Security Info=True;User ID=dbm;Data Source=palt3";

  Proc.ProcedureName = "p_tc_przelicz_potw";

 

  Proc.Parameters.AddParameter();

    

  Proc.Parameters.AddParameter();

  Proc.Parameters.Items(0).name = "ps_potw_nr";

  Proc.Parameters.Items(0).DataType = adVarChar;

  Proc.Parameters.Items(0).Direction = adParamInput;

  Proc.Parameters.Items(0).Size = 12;

  Proc.Parameters.Items(0).Value = 'HS0000002776';



  Proc.ExecProc();

  Log.Message("Fin realized");

  }





I'm stuck at this point.. Any experts that can help?

4 Replies

  • Problem solved



    I have read a few articles and it turns out that:

    varchar2 is not for use in TC

    varchar is assigned to ftFixedChar






  • Thanks for response



    I swapped
    in a procedure parameter varchar2 to varchar, but I still get the same message.



    Now it looks like



    Procedure:

    create or replace procedure fin.p_tc_przelicz_potw(ps_potw_nr varchar) is



    Js:

    function nFin2()

    {

      var Proc;



      Proc = ADO.CreateADOStoredProc();

      Proc.ConnectionString = "Provider=MSDASQL.1;Password=xxx;Persist Security Info=True;User ID=dbm;Data Source=palt3";

      Proc.ProcedureName = "p_tc_przelicz_potw";

     

      Proc.Parameters.AddParameter();

      Proc.Parameters.Items(0).name = "ps_potw_nr";

      Proc.Parameters.Items(0).DataType = adVarChar;

      Proc.Parameters.Items(0).Direction = adParamInput;

      Proc.Parameters.Items(0).Size = 12;

      Proc.Parameters.Items(0).Value = 'HS0000002776';

     

      Proc.ExecProc();

     

      Log.Message("Fin realized");

      }



    This line is higlighted

    Proc.Parameters.Items(0).DataType = adVarChar;




    Any suggestion ?

  • AlexKaras's avatar
    AlexKaras
    Icon for Champion Level 2 rankChampion Level 2
    Hi Janusz,



    Good to know that you solved the problem.

    I did not work much with Oracle, so thank you for the update.